HotSpot 自动内存管理笔记与实战
摘要:1.对象的创建 虚拟机遇到一条new指令时,首先会去检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有,则必须先进行相应的类的加载。 2、对象的访问定位 简历对象是为了使用对象,我们的java程序需要通过栈上的refreren
阅读全文
posted @
2016-07-17 15:48
松伯
阅读(608)
推荐(0) 编辑
JVM垃圾回收参数说明整理
摘要:-server: 启用-server时新生代默认采用并行收集,其他情况下,默认不启用。-server策略为:新生代使用并行清除,年老代使用单线程Mark-Sweep-Compact的垃圾收集器。 -XX:+UseConcMarkSweepGC: 设置年老代为并发收集。 -XX:+UseAdaptiv
阅读全文
posted @
2016-05-08 10:48
松伯
阅读(2857)
推荐(0) 编辑
JAVA虚拟机类型转换学习
摘要:Java虚拟机包括血多进行基本类型转换工作的操作码,这些执行转换工作的操作码后面没有操作数,转换的值从栈顶端获得。Java虚拟机从栈顶端弹出一个值,对它进行转换,然后再把转换结果压入栈。进行int、long、float和double类型之间转换的操作码。 这些操作码是把int类型转换为比int类型占
阅读全文
posted @
2016-04-30 12:26
松伯
阅读(372)
推荐(0) 编辑
JAVA 几种引用类型学习
摘要:1、对象的强、软、弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象。也就是说,只有对象处于可触及(reachable)状态,程序才能使用它。从JDK 1.2版本开始,把对象的引用分为4种级别,从而使程序能更加灵活地控制对象的生命周期。这4种级别由高到
阅读全文
posted @
2016-04-27 22:48
松伯
阅读(1344)
推荐(0) 编辑
JAVA虚拟机垃圾回收算法原理
摘要:除了释放不再被引用的对象外,垃圾收集器还要处理堆碎块。新的对象分配了空间,不再被引用的对象被释放,所以堆内存的空闲位置介于活动的对象之间。请求分配新对象时可能不得不增大堆空间的大小,虽然可以使用的总空闲空间是足够的。这是因为,堆中没有连续的空闲空间放得下新的对象。 垃圾收集器算法 任何垃圾回收算法都
阅读全文
posted @
2016-04-27 22:37
松伯
阅读(385)
推荐(0) 编辑
JVM 类型的生命周期学习
摘要:Java虚拟机通过装载、连接和初始化一个JAVA类型,使该类型可以被正在运行的JAVA程序所使用,其中,装载就是把二进制形式的JAVA类型读入JAVA虚拟机中;而连接就是把这种读入虚拟机的二进制形式的类型数据合并到虚拟机的运行时状态中去。 连接阶段分为三个子步骤 验证、准备和解析。 "验证"步骤确保
阅读全文
posted @
2016-04-26 23:38
松伯
阅读(309)
推荐(0) 编辑