
jvm从入门到绝望
专属_Smile
云想衣裳花想容 ^*^
展开
-
Minor GC && MixedGC && Full GC
注意:本章节针对JDK1.8Minor GCYoung gc,指的是发生在新生代(年轻代)的垃圾收集动作,Minor GC比较频繁,回收速度一般也比较快。Minor GC的流程如下: 应用程序启动运行导致Eden区满了触发minor gc。根据GC Root找出Eden所有的非垃圾对象,将这些对象从Eden区挪到S区的其中一块内存中(我们这里假设挪到S0),然后清空Eden区;(注意:一个对象每经历过一次GC后没有被回收的,分代年龄都会+1,分代年龄值存放在对象头中) 程序运行一段原创 2020-10-29 11:06:15 · 1127 阅读 · 1 评论 -
类加载器以及如何打破双亲委派机制
java里有如下几种类加载器:引导类加载器:负责加载支撑JVM运行的位于JRE的lib目录下的核心类库,如:rt.jar、charsets.jar等等扩展类加载器:负责加载支持JVM运行的位于jre目录下的ext扩展目录中的jar包应用程序类加载器:负责加载classpath路径下的类包,主要就是加载开发人员编写的程序代码类自定义加载器:负责加载自定义类路径下的类文件双亲委派机制类加载机制的委派层级结构如下:其实这个加载过程就包含一个双亲委派机制。这个委派机制的大..原创 2020-10-26 15:15:04 · 6708 阅读 · 2 评论 -
JVM参数文档
-Xmx3550m -Xms3550m -Xss128k-XX:NewRatio=4 -XX:SurvivorRatio=4 -XX:MaxPermSize=16m -XX:MaxTenuringThreshold=0-XX:NewRatio=4:设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5-XX:SurvivorRatio=4:设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个S..原创 2020-08-27 10:29:15 · 322 阅读 · 0 评论 -
《深入理解JVM》之垃圾回收&对象存活判定算法
概述java是可以自动进行内存的动态分配和回收,为什么还要去了解GC和内存分配呢?原因很简单,当出现内存溢出或者内存泄露的问题时,我们需要对这些自动化的技术实施必要的监控和调节。java内存运行时区域的各部分,其中程序计数器、虚拟机栈、本地方法栈3个区域随线程而生。随线程而灭;栈中的栈帧随着方法的进入和退出而有条不紊的执行着出栈和入栈操作。每个栈帧中分配多少内存基本上是在内结构确定下来时就...原创 2020-09-07 09:21:31 · 207 阅读 · 0 评论