JVM
文章平均质量分 94
Java虚拟机相关知识点记录
__Simon'
如山间清爽的风,如古城温暖的阳光。
展开
-
Java类加载器与双亲委派模型
虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到java虚拟机外部去实现。实现这个动作的代码模块称为类加载器。 类加载器虽然用于实现类的加载动作,但它在java程序中起到的作用却远远不限于类加载阶段。对于任意一个类,都需要由加载它的类加载器和这个类本身一同确立其在java虚拟机中的唯一性。比较两个类是否相等,只有在这两个类...原创 2020-04-16 14:00:11 · 185 阅读 · 0 评论 -
Java虚拟机的7中垃圾收集器---Serial、ParNew、Parallel Scavenge、Serial Old、Parallel Old、CMS、G1
如果说收集算法(标记-清除,复制,标记-整理、分代收集算法)是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。目前HotSpot虚拟机所包含的所有收集器如下图。上面7种作用不同分代的收集器,如果两个收集器之间存在连线,就说明他们可以搭配使用。虚拟机所处的区域,则表示它是属于新生代收集器还是老年代收集器。HotSpot实现如此多的垃圾收集器,就是因为目前没有完美的收集器出...原创 2020-04-11 23:27:43 · 699 阅读 · 2 评论 -
JAVA垃圾回收算法——标记-清除算法、复制算法、标记-整理算法、分代收集算法
由于Java虚拟机规范并没有对如何实现垃圾收集器做出明确的规定,因此各个厂商的虚拟机可以采用不同的方式来实现垃圾收集器,所以在此只讨论几种常见的垃圾收集算法的核心思想。一、标记-清除算法(Mark-Sweep) 标记-清除算法是最基础的算法。首先标记出所有需要回收的对象,在标记完成后统一回收所有被标记的对象。后面三种算法都是基于标记-清除这种思路并对其缺点改进而得。...原创 2020-04-10 22:43:56 · 834 阅读 · 0 评论 -
JAVA垃圾回收--判断对象是否存活算法(引用计数法和可达性分析法)
JVM中的堆和方法区主要用来存放对象(方法区中也储存了一些静态变量和全局变量等信息),那么我们要使用GC算法对其进行回收时首先要考虑的就是该对象是否应该被回收。即判断该对象是否还有其他的引用或者关联使得该对象处于存活状态,我们需要将不在存活状态的对象标记出,以便GC回收。一、引用计数法(reference-counting) 引用计数法在对象头处维护一个cou...原创 2020-04-10 20:22:27 · 901 阅读 · 0 评论 -
JVM内存模型_Minor GC笔记
一:JVM内存模型图 JVM内存模型与上下游的关系图:JVM内存模型图原创 2020-04-10 15:42:52 · 272 阅读 · 0 评论