JVM
文章平均质量分 91
椰椰椰耶
椰椰椰耶~~~
展开
-
【JVM】垃圾释放方式:标记-清除、复制算法、标记-整理、分代回收
把标记为垃圾的对象的内存空间进行释放。主要有三种释放方式。原创 2024-09-26 16:37:41 · 16092 阅读 · 33 评论 -
【JVM】垃圾回收机制(GC)之引用计数和可达性分析
这种思想方法,并没有在JVM中使用,但是广泛应用于其他主流语言的垃圾回收机制中(PythonPHP《深入理解 Java 虚拟机》中谈到了引用计数,就导致有些面试官还是会问给每个对象安排一个额外的空间,空间里要保存当前这个对象有几个引用new1banulla1bnullb0此时垃圾回收机制发现对象的引用计数为0,说明这个对象就可以释放掉了0。原创 2024-09-25 11:39:00 · 16452 阅读 · 32 评论 -
【JVM】类加载机制
本来在文件中存储的并非是一个真实的地址,而是一个标记(偏移量);此时申请到的内存空间,里面的默认值,都是全 0 的。(这个阶段中,类对象里的静态成员变量的值也就相当于是 0)文件从硬盘读取到内存,并进行一些列的校验解析的过程(程序要想执行,就得进入内存)不同的二进制,在使用和解析的时候肯定是存在一些差别的。是二进制,你图片也是二进制,你一个可执行程序也是二进制,你一个。文件找到,打开文件,读取到文件内容(认为读到的是二进制的数据)类加载的过程,其实是在 Java 官方文档中给出的说明。原创 2024-09-25 11:36:28 · 16241 阅读 · 44 评论 -
【JVM】JVM执行流程和内存区域划分
`Java` 不想重新编译,而是期望能够直接执行- 先通过 `javac` 把 `.java` 文件==> `.class` 文件(字节码文件,包含的就是 `Java` 字节码,`Java` 自己搞的一套 `CPU` 指令) - 因为如果生成 `CPU` 直接能执行的指令的话,不同的 `CPU` 支持的指令就不一样,就不能在所有系统上执行- 这样先把 `java` 代码转成对应的 `java` 字节码文件,然后在某个具体的系统平台上执行,此时通过 `JVM` 把上述的字节码转换成对应的 `CPU` 能原创 2024-09-24 12:35:57 · 17379 阅读 · 14 评论 -
【JVM】双亲委派模型
之所以这个东西面试出场概率高高,最大的原因就是它起的名字很好听描述了查找.class文件的策略。原创 2024-09-24 12:31:47 · 17285 阅读 · 64 评论