准备秋招-JVM
文章平均质量分 92
baldist
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JVM(四)类加载机制
类加载机制与双亲委派机制一.类加载机制虚拟机把描述类的数据从Class文件加载到内存,并对数据进行一系列处理,形成可以被虚拟机直接使用的Java类型,称为虚拟机的类加载机制。类的加载过程JVM加载一个类共分为3个步骤:加载,链接,初始化。其中链接又分为3个步骤:验证,准备,解析。加载共分为3步:1)获取定义此类的二进制字节流;2)将字节流代表的静态存储结构转化为方法区的运行时数据结构;3)在堆中实例化一个这个类的Class对象,作为方法区这个类的入口。其实加载阶段用一句话来说就是:把代原创 2020-10-06 14:56:48 · 205 阅读 · 0 评论 -
JVM(三)垃圾回收02
一.Serial/SerialOld等价于新生代用Serial GC,且老年代用Serial 0ld GC单线程回收:使用一个cpu或一条线程去完成垃圾收集工作,必须暂停其他所有的工作线程-XX: +UseSerialGC 参数可以指定年轻代和老年代都使用串行收集器二.ParNew ParNew作用于新生代,采用复制算法通过选项"-XX:+UseParNewGC"手动指定使用.ParNew收集器三.Parallel Scavenge/Parallel Old1.parallel原创 2021-07-20 13:28:45 · 232 阅读 · 0 评论 -
JVM(三)垃圾回收01
一.判断对象是否存活的两个方法引用计数法:(1)介绍:给每一个对象设置一个引用计数器,每当有一个地方引用这个对象时,就将计数器加一,引用失效时,计数器就减一。当一个对象的引用计数器为零时,说明此对象没有被引用,也就是“死对象”,将会被垃圾回收。(2)优缺点:原理简单,效率高,但无法解决循环引用。可达性分析算法(引用链法):(1)介绍:从一个被称为 GC Roots 的对象开始向下搜索,如果一个对象到 GC Roots 没有任何引用链相连时,则说明此对象不可用。(2)可作为 GC Roots 的原创 2021-07-20 09:26:44 · 271 阅读 · 2 评论 -
JVM(二)对象的创建及内存布局
对象的创建,内存布局,访问定位一.对象的创建以new关键字创建对象的过程,执行代码Object obj = new Object();当 JVM 遇到new指令时,步骤如下:首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用,并且检查这个符号引用代表的类是否已经被加载、验证、准备、解析、和初始化过。如果没有那就表明该类还没有被虚拟机加载无法创建,需要先执行类的加载过程。类加载检查之后,JVM在Java堆中按照 “指针碰撞” 或者 “空闲列表” 的方式为新生的对象分配内存,分配内存的大小原创 2020-10-02 10:25:32 · 171 阅读 · 0 评论 -
JVM(一)运行时数据区
运行时数据区图解:其中置灰部分是跟随虚拟机启动而存在的,线程共享白色区域则是跟随线程启动而存在,线程私有。1.程序计数器它是当前线程所执行的字节码的行号指示器。字节码解释器通过改变计数器的值来选取下一条需要执行的字节码指令。分支、循环、跳转、异常处理、线程恢复都依赖它。计数器为线程私有,一个线程一个计数器。当线程执行的是Java方法,计数器的值为正在执行的虚拟机字节码指令地址。当执行的是本地方法时,计数器值为空。2.Java虚拟机栈栈是线程私有,一个线程一个栈。一个线程有几个方法被原创 2020-09-30 14:21:34 · 149 阅读 · 0 评论
分享