JVM相关
文章平均质量分 93
JVM底层相关文章
Thanwind
一个蒻蒟而已
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java源码的前端编译
当一份Java代码写好时,将其进行编译,运行,并不是简单把这个Java源码从头到尾执行,一般来说会经历前端编译和后端编译两个阶段,前端编译会把Java源码进行分析,拆解,填充并进行一些优化来变成字节码后端编译是发生在JVM已经在解释执行字节码时的JIT,会进行一些分析来将热点代码直接替换成大部分情况下效率更高的本地机器码,并进行许多优化,从而提高效率除去前后编译,还有提前编译,后面都会写文章一一介绍。原创 2025-07-07 21:48:48 · 973 阅读 · 0 评论 -
JDK1.8中的基本类型静态变量的存储位置
之前写JVM内存结构时,在一个问题上卡了很久众所周知,JDK1.7时,方法区只存储基本类型的静态变量,引用类型的已经转移到堆中了那么,JDK1.8时,方法区还存储着基本类型的静态变量吗?毕竟方法区都已经成了永久代了对于这个问题,可谓是众说纷纭,什么都有但是在《深入理解Java虚拟机:JVM高级特性与最佳实践》中,明确提到了,JDK1.7就已经将静态变量移入堆中但实际来说,这个说法并不准确…我们看:https://openjdk.org/jeps/122。原创 2025-05-09 14:22:30 · 458 阅读 · 0 评论 -
JVM运行时数据区域(Run-Time Data Areas)的解析
首先,JMM(Java 内存模型)和JVM运行时数据区域是两个东西(JVM内存模型),前者是一种规范,类似于接口,譬如 可见性(visibility) 、有序性(ordering )和 原子性(atomicity)后者则是实打实的对JVM内存的严格划分区域尽管作为一个八股中经久不衰的考查点,但很少有文章对其进行深度的剖析虽然我的理解可能也不是很深,但我会尽己所能写出我觉得不该遗漏的地方纸上得来终觉浅,绝知此事要躬行一定要自己看一些底层的书自己扣扣字眼。原创 2025-05-08 22:25:08 · 1467 阅读 · 0 评论 -
关于JVM和OS中的指令重排以及JIT优化
OS中的指令重排极大的提升了CPU性能,但也带来了并发风险 JVM中的JIT会在字节码转机器码时对代码进行优化修改以及重排,极大的提升了Java的速度,使其与编译执行语言速度相媲美 JIT太猛了…写的一个一百多行的测试屎山给优化到只有十几行…原创 2025-04-04 21:14:31 · 1054 阅读 · 0 评论 -
关于JVM和OS中的栈帧的区别和内存浅析
刚看了黑马JVM中的栈帧的讲解,感觉和自己理解的栈帧有一定出入,查询资料研究了一下发现的确有天壤之别,可惜黑马并没有讲。故写下这篇文章巩固一下,原创 2025-03-30 11:52:40 · 919 阅读 · 0 评论 -
为什么64位的JVM的对象头中的HashCode长度是31
最近在学juc,看到对象头的解析,突然发现64位下无锁态的HashCode长度为31bits,32位是25bit,当时就在想,为什么是31?String的默认hashCode也是31,两者之间有什么联系吗?可惜的是没能在中文平台发现答案,外文平台经过一番查找终于找到了答案…原创 2025-04-01 14:40:17 · 808 阅读 · 0 评论
分享