![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
IamHYN
这个作者很懒,什么都没留下…
展开
-
手把手教你手动创建线程池
一、为什么要手动创建线程池?我们之所以要手动创建线程池,是因为 JDK 自带的工具类所创建的线程池存在一定的弊端,那究竟存在怎么样的弊端呢?首先来回顾一下 JDK 中线程池框架的继承关系:JDK 线程池框架继承关系图我们最常用的线程池实现类是ThreadPoolExecutor(红框里的那个),首先我们来看一下它最通用的构造方法:/** * 各参数含义 * corePoolSiz...原创 2020-02-28 17:47:51 · 794 阅读 · 0 评论 -
Java 虚拟机系列三:垃圾收集器一网打尽,船新的 ZGC 和 Shenandoah 听说过吗
前言上篇文章已经为大家详细介绍了 JVM 的垃圾收集机制,那么这次就一起来看看这些机制究竟是怎样应用到具体的垃圾收集器上的吧。Java 语言和 JVM 在不断迭代发展的同时,垃圾收集器也在不断地进化,从最初的的单线程收集器 Serial,到后来的并行收集器 Parallel 和并发收集器 CMS、G1,再到垃圾收集器最前沿成果——超低延迟的 Shenandoah 和 ZGC,还有不做垃圾收集的垃...原创 2020-02-27 14:54:25 · 689 阅读 · 1 评论 -
Java 虚拟机系列一:一文搞懂 JVM 架构和运行时数据区
前言之前写博客一直比较随性,主题也很随意,就是想到什么写什么,对什么感兴趣就写什么。虽然写起来无拘无束,自在随意,但也带来了一些问题,每次写完一篇后就要去纠结下一篇到底写什么,看来选择太多也不是好事儿,更重要的是不成体系的内容对读者也不够友好。所以以后的博客尽量按系列来写,不过偶尔也会穿插其他的内容。接下来一段时间我会把写博客的重点放在 JVM (Java Virtual Machine) 和 ...原创 2020-01-23 15:36:36 · 953 阅读 · 2 评论 -
Java 线程池会自动关闭吗?
文章目录1. 线程池自动关闭的情况一:核心线程数为 0 并指定线程存活时间1.1. 手动创建线程池2.2 Executors.newCachedThrteadPool() 创建线程池2. 线程池自动关闭的情况二:通过 allowCoreThreadTimeOut 控制核心线程存活时间3. 超详细的线程池执行流程图4. 结语首先我们需要了解线程池在什么情况下会自动关闭。ThreadPoolExec...原创 2019-12-07 19:49:44 · 6799 阅读 · 1 评论 -
Hashtable, Collections.SynchronizedMap和ConcurrentHashMap线程安全实现原理的区别以及性能测试
Hashtable,Collections.SynchronizedMap和ConcurrentHashMap线程安全实现原理的区别以及性能测试这三种 Map 都是 Java 中比较重要的集合类,虽然前两个不太常用,但是因为与多线程相关,所以关于这几种 Map 的对比已经成为了 Java 面试时的高频考点。首先要说明的是,其中每一个单独拎出来都足够支撑一篇长篇大论的技术文章,所以本文把重点放在了...原创 2019-11-25 15:07:36 · 1635 阅读 · 0 评论