![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 98
aYuIsAyU
这个作者很懒,什么都没留下…
展开
-
JVM之内存模型
很多人将java 内存结构与java 内存模型傻傻分不清楚, java 内存模型是 Java Memory Model (JMM) 的意思。关于它的权威解释, 请参考:这里原创 2022-06-18 18:24:26 · 176 阅读 · 0 评论 -
JVM之类加载
验证: 验证类是否符合JVM规范, 安全性检查用支持二进制的编辑器修改 HelloWorld.class 的魔数(->), 在控制台运行准备: 为 static 变量分配空间, 设置默认值解析将常量池中的符号引用解析为直接引用:使用 HSDB 工具可以看到使用 ClassLoader 加载类 C, 类 D 是不会被加载的, 并且在类 C 中, 类 D 还只是一个未被解析的常量符号而使用 的时候则会执行 C 里面的静态代码 , 所以类 C 和 类 D 都会被加载初始化即调用 , 虚拟机会保证这个类的构原创 2022-06-18 18:20:40 · 201 阅读 · 0 评论 -
JVM之字节码技术
字节码技术1. 类文件结构一个简单的HelloWorld.javapublic class HelloWorld { public static void main(String[] args) { System.out.println("hello world"); }}执行javac -parameters -d . HellowWorld.java编译为 HelloWorld.class 后是这个样子的:0000000 ca fe ba be 00 00原创 2022-05-03 22:14:22 · 533 阅读 · 0 评论 -
JVM之内存结构
1. 程序计数器定义:Program Count Register 程序计数器(寄存器)作用: 记住下一条JVM指令的执行地址特点:是线程私有的(每一个线程都有自己的程序计数器)不会存在内存溢出作用://二进制字节码 //JVM指令 //Java源代码 0: getstatic #20 // PrintStream out = System.out; 3: astore_1 // -- 4: aload_1 //原创 2022-04-16 00:45:06 · 136 阅读 · 0 评论 -
JVM之垃圾回收
1. 如何判断对象可以回收引用计数法当一个对象被引用时, 该对象的引用值就加1, 当这个对象不再被引用时, 引用值就减1, 当引用值为0时, 就表示该对象可以被垃圾回收器回收。引用计数法有一个弊端, 那就是当两个对象相互引用的时, 两个对象的引用值都为1, 此时这两个对象就算用不到了, 也不会被回收。可达性分析算法Java 虚拟机中的垃圾回收器采用可达性分析来探索所有存活的对象扫描堆中的对象, 看是否能够沿着 GC Root对象 为起点的引用链找到该对象, 找不到, 表示可以回收哪些对象可以原创 2022-04-26 22:00:43 · 292 阅读 · 0 评论