
jvm学习笔记
沉下心来做技术的小白
静下心来,学会沉淀,厚积薄发!
展开
-
JVM中新生代、老年代与永久代的理解
新生代、老年代、永久代一般把java堆分为新生代、老年代,这样就可以根据各个年代的特点采用最适当的收集算法。新生代中,每次垃圾收集时都发现大批对象死去,只有少量对象存活,便采用了复制算法,只需要付出少量存活对象的复制成本就可以完成收集。而老年代中因为对象存活率高、没有额外空间对它进行分配担保,就必须采用“标记-清理”或者“标记-整理”算法,新生代又分为Eden和Survivor(From Sp...原创 2018-09-05 11:35:04 · 1377 阅读 · 0 评论 -
jvm内存管理
上图是jdk1.6的内存区域图,1.7将运行时常量池移到了堆中,1.8则是在1.7的基础上去除了方法区,增加了元空间。1、程序计数器程序计数器是一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器。它是线程私有的,此内存区域是唯一一个在java虚拟机规范中没有规定任何OutOfMemoryError情况的区域。2、java虚拟机栈它与计数器一样也是线程私有的,它的...原创 2018-09-05 11:38:18 · 154 阅读 · 0 评论 -
jvm中的垃圾收集器
1、Serial收集器Seral收集器是最基本、历史最悠久的收集器,曾经(在JDK1.3.1之前)是虚拟机新生代收集的唯一选择。它是单线程收集器,它在进行垃圾收集时,必须停止所有的工作线程,直到它收集结束。“Stop The World”把用户正常工作的线程全部停掉,多少会令用户无法接受。Serial收集器依然是虚拟机运行在Client模式下的默认新生代收集器,简单而高效(与其他收集器的单线程...原创 2018-09-05 11:39:33 · 163 阅读 · 0 评论