- 博客(4)
- 收藏
- 关注
原创 JVM类加载
类加载示意图(顺序开始,不一定顺序结束) 加载(Loading) 预加载 虚拟机启动时的加载,加载的是JAVA_HOME/lib/下的rt.jar下的.class文件,此jar包下有java.lang.、java.util.、java.io.*等常用类。 运行时加载 虚拟机在用到一个.class文件时,会去内存中查看此.class文件是否被加载,如果没有就会按照类的全限定名(包名+类名)来加载这个类。 加载过程 获取.class文件的二进制流; 将类信息,静态变量,字节码,常量等.class文件中的信
2020-08-09 15:28:05 92
原创 JVM垃圾回收(GC)
JVM垃圾回收(GC) 什么是垃圾 没有引用的对象 相互引用,但没有其他引用的对象 环形指向的对象 如何确认垃圾 引用计数法(java未使用) 在对象中添加一个应用计数器,有地方应用该对象计数器+1,应用失效计数器-1,为0时回收。 优点:实现简单,判断效率高。 缺点:无法处理循环引用的垃圾。 正向可达法查找非垃圾对象 描述:从roots对象开始,直接或间接关联到的对象就是非垃圾对象,否则,就是垃圾对象。 什么样的对象是roots对象? 虚拟机栈中引用的对象; 方法运行时,方法中引用
2020-08-09 15:27:54 246
原创 JVM内存模型
JVM内存模型 jvm内存模型图 程序计数器 程序计数器是什么? 记录当前线程(线程私有)执行字节码的偏移地址的指示器。 程序计数器能做什么? 在线程切换的程序中,保证cpu能记住每个线程执行的位置,使程序正确执行。 特点: 线程私有; java虚拟机规范中,唯一一个没有规定任何OutOfMemoreyError情况的区域; 原因:程序计数器保存偏移地址,是一个固定宽度的整数存储空间,所以不会OutOfMemoreyError。 占用内存小,计算内存可忽略不计; 如果执行的是native方法,计
2020-08-09 15:27:35 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人