
JVM虚拟机
文章平均质量分 83
理想奋斗中
河南哔哩哔哩大学软件工程大二在读
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【从零开始学习JVM | 第五篇】认识常见的垃圾收集器
Serial(串行)收集器是最基本、历史最悠久的垃圾收集器了。大家看名字就知道这个收集器是一个单线程收集器了。它的的意义不仅仅意味着它只会使用一条垃圾收集线程去完成垃圾收集工作,更重要的是它在进行垃圾收集工作的时候必须暂停其他所有的工作线程(),直到它收集结束。虚拟机的设计者们当然知道 Stop The World 带来的不良用户体验,所以在后续的垃圾收集器设计中停顿时间在不断缩短(仍然还有停顿,寻找最优秀的垃圾收集器的过程仍然在继续)。但是 Serial 收集器有没有优于其他垃圾收集器的地方呢?原创 2025-04-18 09:41:09 · 931 阅读 · 0 评论 -
【从零开始学习JVM | 第四篇】垃圾回收算法的学习
垃圾回收算法一般由以下四种:标记-清除算法复制算法标记-整理算法分代收集算法。原创 2025-04-13 11:57:01 · 431 阅读 · 0 评论 -
【从零开始学习JVM | 第三篇】虚拟机的垃圾回收学习(一)
无论是通过引用计数法判断对象引用数量,还是通过可达性分析法判断对象的引用链是否可达,判定对象的存活都与“引用”有关。JDK1.2 之前,Java 中引用的定义很传统:如果 reference 类型的数据存储的数值代表的是另一块内存的起始地址,就称这块内存代表一个引用。JDK1.2 以后,Java 对引用的概念进行了扩充,将引用分为强引用、软引用、弱引用、虚引用四种(引用强度逐渐减弱),强引用就是 Java 中普通的对象,而软引用、弱引用、虚引用在 JDK 中定义的类分别是。原创 2025-04-12 16:00:58 · 846 阅读 · 0 评论 -
【从零开始学习JVM | 第二篇】HotSpot虚拟机对象探秘
虚拟机遇到一条new的指令,首先去检查这个指令的参数能否在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,那必须先执行类的加载过程。在通过后,接下来虚拟机将为新生对象,对象所需内存在类加载之后便可确定,为对象分配空间的任务等于说从把一块确定大小的内存从Java堆中划分出来。分配方式有和两种方式,适用场景:堆内存规整的情况下(没有内存碎片)。原创 2025-04-11 11:09:20 · 1047 阅读 · 0 评论 -
【从零开始学习JVM | 第一篇】快速认识JVM
JVM--Java虚拟机,它是Java实现平台无关性的基石。Java程序运行的时候,编译器将Java代码编译为平台无关的Java字节码文件(.class),接下来对应平台的JVM对字节码进行运行解释,翻译成对应平台匹配的机器指令进行运行。同时JVM也是一个跨语言的平台,和语言无关,只和class的文件格式关联,任何语言,只要能翻译成符合规范的字节码文件,都可以被JVM运行。原创 2025-04-09 10:42:55 · 918 阅读 · 0 评论