JUC
文章平均质量分 93
一只小猿i
hello world
展开
-
Juc21_强大的三个工具类、CountDownLatch 闭锁 、CyclicBarrier 、Semaphore
①. CountDownLatch主要有两个方法,当一个或多个线程调用await方法时,这些线程会阻塞②. 其它线程调用countDown方法会将计数器减1(调用countDown方法的线程不会阻塞)③. 计数器的值变为0时,因await方法阻塞的线程会被唤醒,继续执行⑤. 实验CountDownLatch去解决时间等待问题。原创 2023-08-15 11:20:24 · 115 阅读 · 0 评论 -
Juc20_Synchronized锁升级、无锁、偏向锁、轻量级锁、重量级锁、锁消除、锁粗化
①. java5以前,只有Synchronized,这个是操作系统级别的重量级操作,重量级锁,假如锁的竞争比较激烈的话,性能下降。原创 2023-08-14 21:04:00 · 137 阅读 · 0 评论 -
Juc19_从字节码角度看synchronize、Monitor类、monitorenter、monitorexit、深入理解同步方法
①. 从字节码角度分析synchronized实现。原创 2023-08-14 15:58:38 · 175 阅读 · 0 评论 -
Juc18_Java内存模型、对象头Mark Word、实例数据、对齐填充、谈谈new Object( )占多大内存
markword(64位)分布图,对象布局、GC回收和后面的锁升级就是:对象标记MarkWord里面标志位的变化hash: 保存对象的哈希码age: 保存对象的分代年龄biased_lock: 偏向锁标识位lock: 锁状态标识位JavaThread* :保存持有偏向锁的线程IDepoch: 保存偏向时间戳⑦. 聊聊Object obj = new Object()--官网:http://openjdk.java.net/projects/code-tools/jol/原创 2023-08-14 10:50:37 · 261 阅读 · 0 评论