![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JAVA虚拟机
文章平均质量分 84
every__day
这个作者很懒,什么都没留下…
展开
-
JAVA Virtual Machine
JAVA 虚拟机的内存模型,摘抄官网内容,简单翻译总结原创 2022-07-17 23:05:41 · 393 阅读 · 0 评论 -
双亲委派——就是个唬人的翻译
双亲委派的机制是什么,为什么这么设计,如何打破双亲委派原创 2022-06-24 10:40:33 · 411 阅读 · 0 评论 -
当DC遇到volatile,真不清楚要搞什么?
public class Singleton { private volatile static Singleton instance; private Singleton(){} public static Singleton getInstance() { if (instance == null) { synchronize...原创 2020-03-15 22:55:55 · 236 阅读 · 0 评论 -
从synchronized中看锁的优化
本文是学习《深入理解JAVA虚拟机》的第6篇笔记乐观锁观锁synchronized原创 2020-03-14 20:19:17 · 219 阅读 · 0 评论 -
简明内存分配策略
对象优先在Eden分配。当Eden区没有足够空间分配时,虚拟机将发起一次Minor GCMinor GC 和 Full GC是啥意思新生代GC(Minor): 指发生在新生代的垃圾收集动作,因为Java对象大多都具有朝生夕死的特性,所以Minor GC非常频繁,一般回收速度比较快。老年代GC(Major GC/Full GC):指发生在老年代的GC,出现Major GC,通常会伴随至少一次的...原创 2020-03-12 21:13:03 · 207 阅读 · 0 评论 -
老年代垃圾收集器
上一篇介绍了新生代垃圾收集器,接着说老年代垃圾收集器Serial Old 收集器Serial Old 是 Serial收集器的老年代版本,同样是一个单线程收集器,使用“标记-整理”算法。它的主要意义也是在于给Client模式下的虚拟机使用。如果在Server模式下,主要有两大用途:其一是在JDK1.5以及之前的版本中与Parallel Scavenge收集器搭配使用。其二作为CMS收集器的后...原创 2020-03-09 17:30:42 · 521 阅读 · 0 评论 -
极简版 HotSpot的算法实现
本文是学习《深入理解JAVA虚拟机》的学习笔记(3)HotSpot 的算法实现在可达性分析中,从GC Roots 节点找到所有的引用链,这个过程中逐个检查,势必会消耗大量时间。而且这执行期间还要确保一致性快照中进行。就是说检查期间,对象的引用关系不能发生变化。这就导致GC进行时必须停顿所有JAVA执行的线程,也就是所谓的“Stop The Word”。当GC停顿时,虚拟机怎样直接知道哪些地方存...原创 2020-03-07 20:54:05 · 294 阅读 · 0 评论 -
简明版 垃圾回收算法
本文是学习《深入理解JAVA虚拟机》的学习笔记(2)Java是可以自动回收内存的,什么时候需要虚拟机调优呢?当垃圾回收成为系统达到更高并发的瓶颈时。垃圾回收第一步要确认哪些对象可以回收。就是那些不能再被任何途径使用到的对象。怎么找到这些对象,这就谈到可达性分析法。引用计数法,由于循环引用的问题,主流虚拟机均没选用它,这里就不再论述。**可达性分析(Reachability Analysis)...原创 2020-03-06 21:40:00 · 221 阅读 · 0 评论 -
new一个对象,内存到底做了些什么?
本文是学习《深入理解JAVA虚拟机》的学习笔记(1)虚拟机调优,貌似是一个高深的技能。《深入理解JAVA虚拟机》,在程序员世界里,肯定是一本推荐阅读的书。万丈高楼平地起,从最基础的开始,走近这部大作吧!Java虚拟机运行时数据区虚拟机运行时,内存会被划分为多个区,什么堆呀,栈呀,方法区呀。看下图,来彻底搞清楚内存的分区。程序计数器(Program counter Register)当前...原创 2020-03-04 17:05:27 · 1251 阅读 · 0 评论