Java
文章平均质量分 62
艾斯℃
这个作者很懒,什么都没留下…
展开
-
互联网架构师路线
原创 2021-02-17 07:54:03 · 134 阅读 · 0 评论 -
操作系统到多线程高并发3
LockSupport(锁支持):LockSupport.park():当前线程停车,阻塞.LockSupport.unpark():当前线程停止阻塞,继续运行LockSupport.unpark(t),这里的t值得是某个线程,这个命令可以唤醒某个线程LockSupport.unpark可以先于LockSupport.park调用,阻止LockSupport.park阻塞线程,比wait灵活得多LockSupport.unpark底层是C++方法,注释说用这个方法就可以不用阻塞.原创 2021-02-05 21:50:27 · 64 阅读 · 0 评论 -
操作系统到多线程高并发2
CountDownLatch(倒数门闩);等待线程结束后执行减一操作latch.countDown():线程执行完结束之后,数量减一.但是这是动态操作,可以减的不是1,可以调用多次latch.await():当latch.countDown()减少到0的时候继续向下执行CyclicBarrier(计数栅栏):parties:等待数到达20new Runnable:数量到达20后执行的内容barrier.await():每一个线程都执行完,parties加1,等待par..原创 2021-02-05 21:49:54 · 75 阅读 · 0 评论 -
操作系统到多线程高并发1
操作系统:计算机程序运行:进程:QQ.exe双机之后加载到内存,分配资源的最基本单位。运行:CPU从内存中找到程序的main函数开始的位置把指令和数据读出来,把数据放在registers,把指令用pc保存起来,读一条指令执行一条指令。多线程:进程运行的时候,程序的主线程和fork出来的子线程一起执行。线程:资源调度的基本单位。alu计算单元:保存现场到cache线程切换:单核cpu,第一个线程执行,时间片到了之后,alu会把现场存储在cache中,切换第二个线程。如...原创 2021-02-05 21:49:15 · 226 阅读 · 0 评论 -
从操作系统到volatile
操作系统:计算机程序运行:进程:QQ.exe双机之后加载到内存,分配资源的最基本单位。运行:CPU从内存中找到程序的main函数开始的位置把指令和数据读出来,把数据放在registers,把指令用pc保存起来,读一条指令执行一条指令。多线程:进程运行的时候,程序的主线程和fork出来的子线程一起执行。线程:资源调度的基本单位。alu计算单元:保存现场到cache线程切换:单核cpu,第一个线程执行,时间片到了之后,alu会把现场存储在cache中,切换第二个线程。如果..原创 2021-02-05 04:15:43 · 240 阅读 · 0 评论 -
多线程与并发编程学习笔记2
List不安全会导致并发修改异常解决List不安全的几种方法1:vector* Vector是一个线程安全的List,但是它的线程安全实现方式是对所有操作都加上了synchronized关键字,这种方式严重影响效率.所以并不推荐使用Vector2.Collections.synchronizedList3.CopyOnWriteArrayList:写入时复制(COW思想)为避免写入同一块数据的时候避免覆盖造成数据问题,写入的时候创建一个副本做写入操作,然后写.原创 2021-01-30 09:06:29 · 112 阅读 · 2 评论 -
多线程与并发编程基础学习笔记1
进程一个程序运行起来了就是一个进程线程一个进程一般有多个线程java中线程默认两个 main gc开启线程:thread runnable callablejava能开线程么:不能,核心是调用C++的native方法start0并发,并行并发:多线程操作同一个资源单核CPU交替运行目的:充分利用cpu资源并行:多线程操作不同资源多核CPU一起执行线程状态...原创 2021-01-30 09:04:51 · 121 阅读 · 0 评论 -
zookeeper安装运行
1.1 下载安装1、环境准备ZooKeeper服务器是用Java创建的,它运行在JVM之上。需要安装JDK 7或更高版本。2、上传将下载的ZooKeeper放到/opt/ZooKeeper目录下#上传zookeeper alt+pput f:/setup/apache-zookeeper-3.5.6-bin.tar.gz#打开 opt目录cd /opt#创建zooKeeper目录mkdir zooKeeper#将zookeeper安装包移动到 /opt/zooKeep原创 2021-01-14 17:23:08 · 269 阅读 · 0 评论 -
JVM学习
JVMjvm是什么是一种规范,是虚构出来的计算机,有自己的指令集、汇编语言java执行过程.java文件经过javac编译为.class文件调用的时候.class和java相关类库被ClassLoader装载到内存之后通过java解释器和JIT即时编译器(经常执行的在JIT中走,反之走解释器), 之后通过执行引擎执行,再到硬件jvm文档规范查询https://docs.oracle.com/javase/specs/jvms/se1...原创 2021-01-14 17:15:58 · 114 阅读 · 2 评论 -
在分包项目中的奇葩错误UnsatisfiedDependencyException的其中一种解决方案
少打字,多来图::1.这是一个看起来非常正常的分包项目架构2.这是打开后的配置文件,因为是分包,所以controller项目运行的时候,并没有配给applicationContext.xml,需要加载在pom.xml中引入的其他项目的applicationContext.xml3.到目前为止,一切正常.下面是controller分包中的web.xml配置4.看起来依旧正常.......然而使用tomcat运行的时候....5.这本是IOC加载的问题,只要配置好注解就不会有原创 2020-12-29 03:08:47 · 1399 阅读 · 0 评论