JVM
文章平均质量分 86
莫言zero
当你的才华还撑不起你的野心的时候,你就应该静下心来学习,愿你在我这里能有所收获
展开
-
JVM常用垃圾回收算法
垃圾回收算法 标记清楚算法 执行过程 当堆中有效内存空间被耗尽的时候,就会停止整个程序(stop the world),然后进行两项工作,第一项是标记,第二项是清理。 标记阶段: 垃圾回收器从根对象进行遍历,标记所有被引用的对象,一般是在对象的header中记录可达对象 清除阶段 垃圾回收器对堆内存从头到尾进行线性遍历,如果发现某个对象在其Header中没有标记为可达对象,则进行回收 缺点: 效率不算高 在进行GC的时候,需要停止整个应用程序,导致用户体验差 这种方式清理出来的空闲内原创 2021-07-30 11:47:03 · 219 阅读 · 0 评论 -
JVM类的加载过程
文章目录一、类加载子系统概述类加载ClassLoder角色概述类的加载过程加载加载.class文件的方式链接验证(Verify)准备 (Pepare)解析阶段(Resolve)初始化二、 JVM的加载类启动器启动类加载器(Bootstrap ClassLoader)扩展类加载器 (Extension ClassLoader)应用程序类加载器(系统类加载器,AppClassLoader)用户自定义类加载器为什么要自定义类加载器?三、 双亲委派机制双亲委派模式的工作原理双亲委派模式的优势四、沙箱安全机制 一、类原创 2021-03-06 19:14:26 · 347 阅读 · 4 评论 -
JAVA虚拟机栈
Java虚拟机栈是什么? Java虚拟机栈(Java Virtual Machine Stack),早期也叫Java栈,每个线程在创建时都会创建一个虚拟机栈,其内部保存一个个的栈帧(Stack Frame),对应着一次次的Java方法调用 生命周期 生命周期和线程是一致的 作用 主管Java程序的运行,他保存方法的局部变量表、部分结果、并参与方法的调用和返回。 内存中的栈与堆 栈是运行时的单位,而堆是存储的单位。 栈解决程序的运行问题,及程序如何执行,或者说如何处理数据。 堆解决的是数据存储的原创 2021-02-25 13:06:46 · 2191 阅读 · 8 评论 -
JAVA虚拟机
JAVA虚拟机 所谓虚拟机(Virtual Machine),就是一台虚拟的计算机。他是一款软件,用来执行一系列虚拟机计算机指令。大体上,虚拟机可以分为系统虚拟机和程序虚拟机,。 大名鼎鼎的Visual Box,VMware就属于系统虚拟机,他们完全是对物理计算机的仿真,提供了一个可运行完整操作系统的软件平台。 程序虚拟机的典型代表就是Java虚拟机,他专门为执行单个计算机程序而设计,在Java虚拟机中执行的指令我们称之为Java字节码指令 JAVA虚拟机 Java虚拟机是一台执行Java字节码的虚拟计原创 2021-02-21 19:19:35 · 187 阅读 · 4 评论 -
JVM PC寄存器
PC 寄存器 JVM中的程序寄存器(Program Counter Register)中,Register的命名源于CPU的寄存器,寄存器存储指令相关的现场信息,CPU只有把数据装载到寄存器才能够运行 作用 PC寄存器用来存储指向下一条指令的地址,也即将要执行的指令代码。有执行引擎读取下一条指令 详细的介绍 他是一块很小的内存空间,几乎可以忽略不计,也是速度最快的存储区域 在JVM规范中,每个线程都有他自己的程序计数器,是线程私有的,生命周期与线程的生命周期保持一致 任何时候一个线程都只有一原创 2021-02-21 14:26:04 · 328 阅读 · 0 评论