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