
Java 虚拟机
文章平均质量分 98
Java 虚拟机
ReadThroughLife
计算机科学与技术硕士,前世界50强央企Python数字化转型培训讲师,前世界100强企业软件开发工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
《Java 虚拟机》 happens-before 与锁优化
《Java 虚拟机》 happens-before 与锁优化🚀1. happens-before🚀2. 锁优化🚁2.1 轻量级锁🚁2.2 锁膨胀🚁2.3 重量锁🚁2.4 偏向锁🚁2.5 其他优化🪂2.5.1 减少上锁时间🪂2.5.2 降低锁的粒度🪂2.5.3 锁粗化🪂2.5.4 锁消除🪂2.5.5. 读写分离🚀1. happens-before🎁 从 JDK 5 开始,Java 使用新的 JSR-133 内存模型,该内存模型使用 happens-before的概念来阐述操作之间的内存可见性。在 J原创 2022-05-03 07:30:00 · 1787 阅读 · 1 评论 -
《Java 虚拟机》运行期优化
5. 运行期优化5.1 分层编译JVM 将执行状态分成了 5 个层次:0层:解释执行,用解释器将字节码翻译为机器码1层:使用 C1 即时编译器编译执行(不带 profiling)2层:使用 C1 即时编译器编译执行(带基本的profiling)3层:使用 C1 即时编译器编译执行(带完全的profiling)4层:使用 C2 即时编译器编译执行profiling 是指在运行过程中收集一些程序执行状态的数据,例如【方法的调用次数】,【循环的 回边次数】等。即时编译器(JIT)与解释器的区别:原创 2022-04-17 14:03:05 · 851 阅读 · 0 评论 -
《Java 虚拟机》 类加载阶段
JVM 类加载阶段1. 加载2. 链接2.1 验证2.2 准备2.3 解析3. 初始化4. 类加载器4.1 启动类加载器4.2 拓展类加载器4.3 双亲委派模式4.4 自定义类加载器5. 运行期优化5.1 分层编译5.2 方法内联5.2.1 内联函数类从被加载到虚拟机内存中开始,到卸载出内存为止,它的整个生命周期包括:加载(Loading)、验证(Verification)、准备(Preparation)、解析(Resoultion)、初始化(Initialization)、使用(Using)和卸载(Un原创 2022-04-13 18:33:46 · 1826 阅读 · 2 评论 -
《Java 虚拟机》类文件结构与字节码技术
JVM 类加载与字节码技术1. 类文件结构1.1 魔数1.2 版本号1.3 常量池1.4 访问标识与继承信息1.5 字段表信息1.6 方法表信息1.7 属性表集合2. 字节码指令2.3 图解方法执行流程1. 类文件结构我们直到,编译 .java 文件可以得到 .class 类字节码文件。下面是一个简单的名为 HelloWorld.java 文件public class HelloWorld { public static void main(String[] args) {原创 2022-04-11 18:59:36 · 1485 阅读 · 0 评论 -
《Java 虚拟机》 垃圾回收
JVM 垃圾回收1. 如何判断对象可以回收1.1 引用计数法1.2 可达性分析算法1.3 五种引用1.4 引用队列2. 垃圾回收算法2.1 标记-清除算法2.2 标记-整理算法2.3 复制算法3. 分代垃圾回收4. 垃圾回收器4.1 串行4.2 吞吐量优先1. 如何判断对象可以回收1.1 引用计数法定义:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时刻计数器为 0 的对象就是不可能再被使用的。弊端:循环引用时,两个对象的计数都为1,导致两个对原创 2022-04-06 21:04:14 · 1740 阅读 · 0 评论 -
《Java 虚拟机》 基本概念与内存结构
JVM 基本概念与内存模型1. JVM 基本概念2. JVM 内存模型2.1 程序计数器2.2 虚拟机栈2.3 本地方法栈2.4 堆2.5 方法区2.6 直接内存1. JVM 基本概念定义:Java Virtual Machine,Java 程序的运行环境(Java 二进制字节码的运行环境)。优点:一次编写,到处运行自动管理内存,具有垃圾回收的功能数组下标越界检查多态JVM、JRE、JDK、JavaSE 和 JavaEE 之间比较:2. JVM 内存模型整体架构2.1 程序计数原创 2022-04-01 14:26:02 · 2825 阅读 · 0 评论