多线程
文章平均质量分 90
yhan
加油!
展开
-
TheadLocal详解
强软弱虚强引用特点:我们平常典型编码Object obj = new Object()中的obj就是强引用。通过关键字new创建的对象所关联的引用就是强引用。 当JVM内存空间不足,JVM宁愿抛出OutOfMemoryError运行时错误(OOM),使程序异常终止,也不会靠随意回收具有强引用的“存活”对象来解决内存不足的问题。对于一个普通的对象,如果没有其他的引用关系,只要超过了引用的作用域或者显式地将相应(强)引用赋值为 null,就是可以被垃圾收集的了,具体回收时机还是要看垃圾收集策略。软引用原创 2021-04-23 14:18:19 · 293 阅读 · 0 评论 -
Java synchronized底层原理
synchronized的底层是使用操作系统的mutex lock实现的。java对象在内存中的存储方式Java对象头,成员变量,补齐数据怎么确认呢?<dependency> <groupId>org.openjdk.jol</groupId> <artifactId>jol-core</artifactId> <version>0.9</versio原创 2021-04-22 17:23:41 · 647 阅读 · 0 评论 -
Java中线程池ThreadPoolExecutor原理探究
转自 :http://ifeve.com/java%E4%B8%AD%E7%BA%BF%E7%A8%8B%E6%B1%A0threadpoolexecutor%E5%8E%9F%E7%90%86%E6%8E%A2%E7%A9%B6/一、 前言线程池主要解决两个问题:一方面当执行大量异步任务时候线程池能够提供较好的性能,,这是因为使用线程池可以使每个任务的调用开销减少(因为线程池线程是可以复用的)。另一方面线程池提供了一种资源限制和管理的手段,比如当执行一系列任务时候对线程的管理,每个ThreadP.转载 2020-11-09 20:52:25 · 133 阅读 · 0 评论