随笔分类 -  深入了解JVM

摘要:虚拟机类加载机制 一、类加载的阶段和时机 1.阶段 整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resolution)、初始化(Initialization)、使用(Using)和卸载(Unloading)7个阶段。 其中验证、准 阅读全文
posted @ 2017-08-16 22:35 寰殇丶天使 阅读(360) 评论(1) 推荐(0)
摘要:虚拟机执行子系统 一、类文件结构 1.魔数和class版本 1.magic-魔数:0xCAFEBABE;4字节 2.minor_version:次版本,丶之后的数字;2字节 3.major_version:主版本,丶之前的数字;2字节 2.常量池 1.constant_pool_count:常量池常 阅读全文
posted @ 2017-08-11 21:25 寰殇丶天使 阅读(543) 评论(0) 推荐(0)
摘要:垃圾收集器与内存分配策略 由于JVM中对象的频繁操作是在堆中,所以主要回收的是堆内存,方法区中的回收也有,但是比较谨慎 一、对象死亡判断方法 1.引用计数法 就是如果对象被引用一次,就给计数器+1,否则-1 实现简单,但是无法解决对象相互引用的问题;实际上JVM也不是使用的此种方式,因此已下的程序我 阅读全文
posted @ 2017-08-02 20:24 寰殇丶天使 阅读(303) 评论(0) 推荐(0)
摘要:java内存区域与内存溢出异常 一、运行时数据区域 1.程序计数器:线程私有,用于存储当前所执行的指令位置 2.Java虚拟机栈:线程私有,描叙Java方法执行模型;执行方法时都会创建一个栈帧,存储局部变量,基本类型变量,引用等信息 3.Java本地方法栈:线程私有,为虚拟机使用到的Native方法 阅读全文
posted @ 2017-06-08 21:22 寰殇丶天使 阅读(366) 评论(0) 推荐(1)