JVM
个人jvm学习笔记
勿白头空悲切
记录学习
展开
-
JVM学习笔记(六)——JVM类加载子系统
JVM类加载子系统简介类加载步骤1、加载2、验证3、准备4、解析5、初始化使用和卸载类加载器类加载机制双亲委派模型简介在介绍jvm的时候,我们了解了jvm 运行时数据区,在运行时数据区里,我们知道对象是放在堆中的,类是放在方法区(元空间)的,对象是我们程序运行过程中产生的,那么类又是如何产生和加载到方法区呢?这就是我们接下来需要讲述的类加载器,类加载器是JVM中的一个独立模块,我们称之为类加载子系统。还记得我们刚开始学习java的时候,老师在介绍java相比较于其他语言有个很好的优势,就是它可移植(跨原创 2020-08-06 14:28:40 · 130 阅读 · 0 评论 -
JVM学习笔记(五)——常见问题说明
常见问题隔代引用与跨区引用解决方法——记忆集写屏障(Write Barrier)用关系改变(对象消失)解决方案浮动垃圾隔代引用与跨区引用解决方法——记忆集在分代垃圾收集器中,是不是会有隔代引用,也就是说年轻代里的对象引用老年代里对象,同理老年代的对象引用年轻代里的对象。如果是年轻代引用老年代还好说,MinorGC是不会回收这类对象,但是如果是老年代引用年轻代里的对象,MinorGC如何区分年轻代中的对象有没有被老年代引用呢?如果不区分,那么是不是每次回收都要区老年代里去扫描一次?衍生到G1收集器也是一样原创 2020-10-24 06:40:19 · 286 阅读 · 0 评论 -
JVM学习笔记(二)——垃圾收集器
垃圾收集器如何判别垃圾?(一) 引用计数(二) 可达性分析垃圾回收算法——如何回收垃圾?(一) 复制(Copying)(二) 标记-清除(Mark-Sweep)(三) 标记-整理(Mark-Compact)分代介绍——年轻代、老年代基本介绍年轻代老年代常见的垃圾收集器(一) Serial收集器(二) ParNew收集器(三) Parallel Scavenge收集器(四) Serial Old收集器(五) Parallel Old收集器(六) CMS收集器(七) G1收集器——Garbage First如原创 2020-10-24 06:40:36 · 561 阅读 · 0 评论 -
JVM学习笔记(三)——三色标记
三色标记简介原创 2020-10-24 06:39:37 · 791 阅读 · 0 评论 -
JVM学习笔记(一)——基础
JVM入门介绍程序计数器本地方法栈方法区Java虚拟机栈堆介绍由上图可以看出,JVM分为五个大块,分别是方法区,jvm运行方法栈,本地方法栈,程序计数器以及最大块的堆。程序计数器程序计数器,人如其名,程序计数器就是一个记录数字的地方,那他记录的是什么数字呢?一个程序运行需要CPU,CPU有内核,一个内核只能执行一条线程的指令,我们所说的多线程,很多情况下是一个内核实现。因为一个内核只能执行一条线程的指令,那么我这么多线程该如何跑起来还能让用户感觉不到停顿呢,这是因为一个内核在轮流切换并分配处理时间原创 2020-08-06 14:27:52 · 118 阅读 · 0 评论