
JVM
文章平均质量分 64
大树91
这个作者很懒,什么都没留下…
展开
-
Jvm Classloader 类加载机制
双亲委派类加载是遵循双亲委派机制的,双亲委派机制是当一个类需要被加载时,加载器首先并不是自己直接加载,而是先从自己缓存中查找是否加载过,如果加载过直接返回。如果没有则上委托自己的父加载器加载,父加载器同样执行上述操作,以次类推。如果到最顶层的boostrapClassLoader也没有加载的话,将向下检查,查找并加载该类。这样一上一下的过程称为双亲委派。示意图如下:为什么要使用双亲委派安全问题。比如某人自己类库中有个类叫 java.lang.String 自定义加载时可以覆盖掉 jdk 中的 St.原创 2021-09-24 17:12:52 · 179 阅读 · 1 评论 -
Jvm垃圾收集器总结之 Parallel Scavenge 收集器
Parallel Scavenge 收集器是个新生代收集器。它也是使用复制算法的收集器,又是并行的多线程收集器、、、、看上去和ParNew 都一样,那它有什么特别之处呢?Parallel Scavenge 收集器的特点是它关注的点和其他收集器不同,CMS 等收集器的关注点是尽可能的缩短垃圾收集器期间用户线程的停顿时间,而 Parallel Scavenge 收集器的目标则是达到一个可控的吞吐量(Throughput)。所谓吞吐量就是 CPU 运行用户线程的时间和 CPU 总时间的比值。即吞吐量 = 运行原创 2021-08-29 17:26:07 · 1433 阅读 · 4 评论 -
Jvm垃圾收集器总结(ParNew收集器)
ParNew收集器其实就是Serial 收集器的多线程版本,除了多条线程进行垃圾收集之外,其余行为包括 Serial 收集器的所有控制参数(例如: -XX:SurvivorRatio、-XX:PretenureSizeThreshold、-XX:HandlePromotionFailure 等)、收集算法、Stop The World、对象分配规则、回收策略等都与 Serial 收集器完全一样,在现实上,这两种收集器也共用了相当多的代码。ParNew 收集器的工作过程如下图所示。ParNew 收集器除了原创 2021-07-04 18:27:04 · 332 阅读 · 1 评论 -
Jvm垃圾收集器总结(Serial收集器)
Serial收集器是最基本、发展历史最悠久的收集器,曾经(在Jdk1.3.1之前)是虚拟机新生代收集唯一的选择。从名字可以猜出,这个收集器是单线程的收集器,但它的“单线程”的意义并不是仅仅说明它只会使用一个CPU或一条线程去完成垃圾收集工作,更重要的是在它进行垃圾收集时,必须暂停其他所有的工作线程,知道它收集结束。“Stop The World” 这个名字也许听起来很酷,但这项工作实际上是虚拟机在后台自动发起和自动完成的,...原创 2021-07-04 12:03:46 · 197 阅读 · 1 评论