![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
深入理解Java虚拟机
文章平均质量分 80
追风少年潇歌
越努力,越幸运
展开
-
深入理解Java虚拟机之类加载机制篇
概述 虚拟机把描述类的数据从 Class 文件加载到内存中,并对数据进行校验、转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,就是虚拟机的类加载机制。 在Java语言里面,类型的加载、连接和初始化过程都是在程序运行期间完成的,这种策略虽然增加了类加载时系统额外的开销,但是能给 Java 应用程序提供高度的灵活性,Java 的动态扩展优势就依赖于运行期动态加载和动态连接来实现的。例如用户可以在编写一个面向接口的应用程序时,可以等到运行时再指定具体的实现类,还可以通过 Java 预定义的和原创 2021-10-24 21:04:58 · 2665 阅读 · 0 评论 -
深入理解Java虚拟机之垃圾回收篇
Java 会对内存进行自动分配与回收管理,使上层业务更加安全,方便地使用内存实现程序逻辑。在不同的 JVM 实现及不同的回收机制中,堆内存的划分方式是不一样的。原创 2021-10-18 08:30:00 · 142 阅读 · 0 评论 -
深入理解Java虚拟机之对象实例化篇
Java是面向对象的`静态强类型`语言,我们一般先声明并创建对象,根据某个类声明一个引用变量指向被创建的对象,并使用此引用变量操作该对象,如`Object obj = new Object()`,obj 即`引用变量`,也叫`实例成员变量`。下面通过简单地从执行步骤的角度来分析原创 2021-10-13 10:00:25 · 173 阅读 · 0 评论 -
走进Java内存布局之JVM入门篇
JVM内存布局规定了Java在运行过程中内存申请、分配、管理的策略,保证了JVM的稳定高效运行。不同的JVM对于内存的划分方式和管理机制存在部分差异。结合JVM虚拟机规范,一起来探讨jVM的内存布局。原创 2021-10-12 08:30:00 · 123 阅读 · 0 评论 -
深入理解JAVA虚拟机《二》
垃圾收集器与内存分配策略一、引用计数算法(不可靠)现在很多比较普遍的判断对象是否存活的算法就是引用计数算法,其大概原理是:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1,;任何时刻计数器为0的对象就是不可能再使用。目前很多公司都有用到应用这个算法,客观地说,引用计数算法实现简单,判定效率也高,大多数情况下都是一个不错的算法。但是,至少主流的...原创 2019-11-21 13:35:51 · 125 阅读 · 0 评论 -
深入理解JAVA虚拟机《一》
Javan内存区域与内存溢出异常一、运行时数据区域1.程序计数器(线程私有)字节码解释器工作时就是通过改变这个计数器的值来选择下一条需要执行的字节码指令。线程执行main方法:计数器记录正在执行的虚拟机字节码指令地址。Native方法:计数器值为空。2.Java虚拟机栈(线程私有)描述的是Java方法执行的内存模型:每个方法在执行的同时都会创建一个栈帧用于存储局部变量表、操作数...原创 2019-11-21 10:07:11 · 146 阅读 · 1 评论