JVM
文章平均质量分 50
酱油瓶啤酒杯
这个作者很懒,什么都没留下…
展开
-
JVM-双亲委派模型-源码
1、什么是双亲委派模型 已知每个类都有对应的类加载器,系统的ClassLoader在协同工作时会默认使用双亲委派模型:在类加载时先判断该类是否被加载过,已加载过的类会直接返回。没加载过的类加载的时候,先把该请求委派该父类加载器的loadClass()处理,由此可知所有的请求都会传送到顶层的启动类加载器。父类加载器无法处理的时候,才会自己进行处理。无父类加载器时启用BootstrapClassLoader作为父类加载器。这⾥的双亲更多地表达的是“⽗ ⺟这⼀辈”的⼈⽽已 private final C..原创 2021-01-02 13:37:56 · 196 阅读 · 0 评论 -
JVM-七种垃圾收集器介绍/对比-调参
10、常见的垃圾回收器有哪些?介绍一下? 背景介绍:7种垃圾收集器作用于不同的分代,如果两个收集器之间存在连续,就说明他们可以搭配使用。 从JDK1.3到现在,从Serial收集器-》Parallel收集器-》CMS-》G1,用户线程停顿时间不断缩短,但仍然无法完全消除 收集器 串行/并行/并发 新生代/老年代 收集算法 目标 适用场景 备注 Serial 串行 新生代 复制算法 响应速度优先 单CPU环境下的Client模式 Serial Old 串行 老年代 标记-整理算法 响应原创 2020-12-08 15:54:03 · 532 阅读 · 0 评论 -
JVM-JAVA对象创建的五个步骤
对象创建的五个步骤 1、类加载检查 虚拟机遇到一条 new 指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行相应的类加载过程。 2、分配内存 在类加载检查完成后,虚拟机为new出来的对象分配内存。 新对象需要的内存大小在类加载完成后就已经确定,现在要做的是吧一块确定大小的内存从Java堆中划分出来。 分配方式涉及到两种: 指针碰撞 空闲列表 堆内存规整时 堆内存不规整原创 2020-06-29 10:03:01 · 6363 阅读 · 7 评论 -
JVM-访问Java对象的底层分析
如果访问Java对象?底层解析 1、前提条件 在我的上一篇文章https://blog.csdn.net/CodeDabaicai/article/details/107014400中,从JVM的角度出发分析了创建一个Java对象的五个基本步骤,并对一些由此引申出的问题进行了相关解析。 创建对象之后,就涉及到使用对象的问题。那么一个Java对象的访问又是如何实现的呢?下边小王将进一步解析。 2、通过一个程序示例分析 class Person{ private int id;原创 2020-12-04 15:26:19 · 107 阅读 · 0 评论