04 2021 档案
摘要:什么是AQS? AQS是AbstractQueuedSynchronizer类的简称,位于java.util.concurrent.locks下。直译为抽象队列同步器,一般简称为同步器。 AQS维护了一个volatile int类型的state和FIFO的虚拟双向队列,当多线程竞争资源的时候未获得资
阅读全文
摘要:JDK提供了一些原子操作的类,在java.util.concurrent.atomic下面。如AtomicBoolean,AtomicInteger,AtomicLong都是用原子的方式来更新指定类型的值。 Unsafe类包含了大量多的对C代码的操作,包括了很多直接内存分配和原子操作的调用,都存在安
阅读全文
摘要:可以保证可见性,一点程度上保证了有序性,不能保证原子性。 总结: 它会强制将对缓存的修改操作立即写入主存 如果是写操作,它会导致其他CPU中对应的缓存行无效 它确保指令重排序时不会把其后面的指令排到内存屏障之前的位置,也不会把前面的指令排到内存屏障的后面;即在执行到内存屏障这句指令时,在它前面的操作
阅读全文
摘要:centos6 有方便统一的管理方式(常用的方法) service 服务名 start service 服务名 stop service 服务名 restart service 服务名 reload service 服务名 status 查看服务的方法 /etc/init.d/服务名 通过chkco
阅读全文
摘要:什么是线程池? 线程池就是创建若干个可执行线程放入一个池(容器)中,有任务需要执行时,就从线程池中获取一个线程用来执行,使用完毕放回线程池中。 JVM在HotSpot的线程模型下,Java线程会一对一映射为内核线程,也就说Java中每创建/回收一个线程都会去内核创建/回收,涉及到内核操作的都是很消耗
阅读全文
摘要:线程并发:在多线程并发的场景下 传递数据:我们可以通过ThreadLocal在同一线程,不同组件中传递公共变量 线程隔离:每个线程的变量都是独立的,不会相互影响 常用方法 方法声明 描述 ThreadLocal() 创建ThreadLocal对象 public void set(T value) 设
阅读全文

浙公网安备 33010602011771号