jvm
文章平均质量分 94
纯米饭
这个作者很懒,什么都没留下…
展开
-
JVM 虚拟机类加载机制(加载流程,类加载器,双亲委派)
它人笔记推荐:添加链接描述根据Java虚拟机规范,从Class文件加载到内存中的类,到类卸载出内存位置,它的整个生命周期包括如下七个阶段:加载-> 链接(验证,准备,解析)->初始化->使用->卸载。其中链接分为验证、准备、解析。从类的使用情况来看(上图)1. 加载(Loading)1.加载只是类加载过程中的一个阶段,两种不能弄混2. 加载可以理解为把Class文件加载到内存中1.1 加载步骤1.通过一个类的全限定名来获取定义此类的二进制字节码2.将这个字节码所代.原创 2021-09-29 12:09:35 · 108 阅读 · 0 评论 -
JVM 部分收集器(Serial、CMS、G1)
回收算法可以看作是内存回收的方法论,而垃圾收集器就是内存回收的实践论。有七种垃圾收集器,收集器是可以配合使用的,如图实现所连接的收集器是的可以配合使用的,图中有一条线,上半部分是作用域新生代的,而下半部分是作用与老年代的。1.Serial收集器这个是再1.3.1之前新生代收集器的唯一选择,这是一个单线程的工作处理器,这个线程最大的问题就是,当它开始垃圾回收时,必须暂停其他所有工作的线程。直到该线程工作完毕, 暂停其他工作线程,一般称为 stop the world, 简称为STW。 当然这个收集器原创 2021-09-28 11:23:36 · 255 阅读 · 0 评论 -
JVM垃圾回收
1 如何判断对象可以回收1.1引用计数法通过统计这个对象被引用的数量,来判断是否可以被回收,但是当两个对象互相引用的时候,就判断不出这个对象是可以被回收的了, JVM虚拟机并没有使用这个回收方法1.2 可达性分析算法(JVM使用)如果一个对象被根对象直接或间件的引用,则这个对象不能被回收。否则则相反。Java虚拟机中的垃圾回收采用可达性分析来探索所有存活的对象扫描堆中的对象,看是否能够沿着GC Root对象做为引用链找到该对象,找不到,表示可以回收1.3 四种引用强引用 : 一般情况原创 2021-09-26 12:26:51 · 74 阅读 · 0 评论 -
JVM 内存结构
java文件转换成class一. 程序计数器1.1定义Program Counter Register 程序计数器(寄存器)基本作用:用于记住下一条jvm指令的执行地址特点:线程是私有: 程序计数器是属与自己线程的不会存在内存溢出当解释器执行完一条指令后,会去程序计数器中查找下一条指令的地址。当解释器执行下一条指令的时候,程序计数器又会去记录新的下一条指令的地址在物理上,程序计数器是通过一个叫寄存器实现的,寄存器是整个cpu组件里,读取速度最快的一个单元,二.虚拟机栈Java原创 2021-07-08 23:13:16 · 183 阅读 · 1 评论