随笔分类 -  Java并发编程

记录Java并发编程中的问题
摘要:学习完了这篇 Java8 CompletableFuture 用法全解,还是想给繁多的API归个类,于是有了这篇文章。 一、起始方法 首先,runAsync 和 supplyAsync 都是静态方法,因此调用他们可以帮我们创建 CompletableFuture 实例。 | 静态方法 | 传入任务类 阅读全文
posted @ 2022-04-10 16:52 极客子羽 阅读(231) 评论(0) 推荐(0) 编辑
摘要:JDK1.7 中 HashMap 多线程成环问题,几乎已经成了Java程序员人人需要了解的知识了,本文就带大家来一切重现一下 HashMap 死循环 。 阅读全文
posted @ 2021-02-23 15:49 极客子羽 阅读(844) 评论(0) 推荐(0) 编辑
摘要:Thread#interrupt() 这个方法仅仅是给线程设置一个打断标记,线程的打断需要应用程序的响应,如果没有响应,打断就不会被执行。 Thread#isInterrupted() 方法可以判断线程对象 thread 的打断标记是否被置位,支持多次判断,且结果一致。 Thread.interrupted() 返回当前线程是否被设置了打断标记,且重置线程为未打断状态。 阅读全文
posted @ 2021-02-16 21:26 极客子羽 阅读(729) 评论(0) 推荐(0) 编辑
摘要:前言 通过上一篇博客 here 的讲述,我们已经找到了有价值的“官方文档”。 本文自然是要来用 jol-core 来实战和深入理解 synchronized 锁和 Java 对象头之间的 “纠葛” 了。 Object header is the common structure at the beg 阅读全文
posted @ 2021-01-13 17:29 极客子羽 阅读(1219) 评论(0) 推荐(3) 编辑
摘要:在 jdk1.6 以后, synchronized 锁借鉴了 Doug Lea 的锁设计思想,对 synchronized 锁的实现进行了优化。OpenJDK 和 Oracle Java 高度相似,因此我们可以学习 OpenJDK 来掌握 Java 底层原理。对象头主要由 mark word 和 klass pointer 两部分组成。 阅读全文
posted @ 2021-01-07 17:31 极客子羽 阅读(143) 评论(0) 推荐(1) 编辑