随笔分类 -  Understanding the JVM读书笔记

《深入理解Java虚拟机——JVM高级特性与最佳实践》读书笔记,素材来源:《深入理解Java虚拟机——JVM高级特性与最佳实践》 周志明; 网络
摘要:一、JVM中类唯一性的确认 对于任意一个类,都需要由加载它的类加载器和这个类本身来确定其在JVM中的唯一性。即:只有在两个类是由同一个类加载器加载时,才能比较两个类是否相等。 类相等包括:类的Class对象的equals()方法,isAssignableFrom()方法,isInstance()方法 阅读全文
posted @ 2019-08-09 14:45 李三幺 阅读(153) 评论(0) 推荐(0)
摘要:类的生命周期 其中,加载、验证、准备、初始化、卸载5个阶段都是顺序开始(但不一定是顺序结束)。而解析阶段则不一定,某些情况可以在初始化阶段之后再开始。 类加载过程 1. 加载(加载阶段与连接阶段的部分内容是交叉进行的) • 加载阶段,虚拟机需要完成3件事: a. 通过类的全名获取定义此类的二进制字节 阅读全文
posted @ 2019-08-09 14:40 李三幺 阅读(161) 评论(0) 推荐(0)
摘要:一、HotSpot虚拟机中的垃圾收集器: |--Serial |--Serial Old |--PerNew |--Parallel Scavenge |--Parallel Old |--CMS |--G1 1. Serial和SerialOld收集器 • 单线程收集器,在进行GC时必须暂停其他所 阅读全文
posted @ 2019-08-08 15:52 李三幺 阅读(160) 评论(0) 推荐(0)
摘要:垃圾收集器工作的第一步就是判断对象是否还活着,通过垃圾回收算法判断。 一、引用计数算法 • 在对象A中添加一个引用计数器,当有一个地方引用A时,计数器+1;当引用失效时,计数器-1,任何时刻计数器数值为0时,这个对象就不会再被使用了; • 引用计数法的实现简单,判断效率高。但再主流的java虚拟机中 阅读全文
posted @ 2019-08-08 15:31 李三幺 阅读(167) 评论(0) 推荐(0)
摘要:一、JVM内存模型——概念说明 1. 程序计数器 • 程序计数器:内存占用很小,是当前线程所执行的字节码的行号指示器,每一个线程都需要一个独立的程序计数器。 • 如果该线程正在执行java方法,则这个计数器记录的是正在执行的虚拟机字节码指令地址;如果正在执行的是native方法,则这个计数器的值为空 阅读全文
posted @ 2019-08-08 15:17 李三幺 阅读(244) 评论(0) 推荐(0)