
深入理解Java进阶 - JVM探索之旅
文章平均质量分 96
掌握Java进阶,从JVM底层原理开始!带你探索Java虚拟机的奥秘,解析JVM工作原理、性能优化和常见问题。掌握JVM知识,让你的Java编程技能更上一层楼!
沁禹
掌握编程前沿,从这里启航。希望你能在这里学到真东西,成为更牛的开发者!感谢支持,一起进步!
展开
-
JVM内存奥秘:2万字深度解析,让你彻底掌握内存结构!
通过下面两个问题,理解下PC计数器使用PC寄存器存储字节码指令地址有什么用呢?为什么使用PC寄存器记录当前线程的执行地址呢?因为CPU需要不停的切换各个线程,这时候切换回来以后,就得知道接着从哪开始继续执行。JVM的字节码解释器就需要通过改变PC寄存器的值来明确下一条应该执行什么样的字节码指令。PC寄存器为什么会被设定为线程私有的?多线程在一个特定的时间段内只会执行其中某一个线程方法,CPU会不停的做任务切换,这样必然会导致经常中断或恢复。原创 2024-01-14 14:08:29 · 1367 阅读 · 0 评论 -
【JVM 基础】类字节码详解
源代码通过编译器编译为字节码计算机是不能直接运行java代码的,必须要先运行java虚拟机,再由java虚拟机运行编译后的java代码。这个编译后的java代码,就是本文要介绍的java字节码。为什么jvm不能直接运行java代码呢,这是因为在cpu层面看来计算机中所有的操作都是一个个指令的运行汇集而成的,java是高级语言,只有人类才能理解其逻辑,计算机是无法识别的,所以java代码必须要先编译成字节码文件,jvm才能正确识别代码转换后的指令并将其运行。原创 2024-01-10 18:20:09 · 1021 阅读 · 0 评论 -
【JVM 基础】 Java 类加载机制
通常情况下,我们都是直接使用系统类加载器。但是,有的时候,我们也需要自定义类加载器。比如应用是通过网络来传输 Java 类的字节码,为保证安全性,这些字节码经过了加密处理,这时系统类加载器就无法对其进行加载,这样则需要自定义类加载器来实现。自定义类加载器一般都是继承自 ClassLoader 类,从上面对 loadClass 方法来分析来看,我们只需要重写 findClass 方法即可。try {原创 2024-01-09 21:30:02 · 2035 阅读 · 0 评论