11 2024 档案
摘要:先来看一张图,串行代表两个垃圾回收器按顺序执行,并行代表同时执行。STW代表工作线程暂停,Stop The World的意思。 垃圾回收器 执行顺序 执行方式 作用区域 使用算法 说明 Serial GC 串行 工作线程暂停,单线程进行垃圾回收 新生代 复制算法 Serial Old GC 串行 工
阅读全文
摘要:为什么要进行垃圾回收? 垃圾是指 JVM 中没有任何引用指向它的对象,如果不及时清理这些垃圾对象,那么它就会一直占用内存,如果垃圾对象越来越多,就会出现OOM了。 要判断对象是否是垃圾对象有两种方式,一、引用计数法。二、可达性分析法。 而要清除垃圾对象有三种常用方式,一、标记-清除算法。二、复制算法
阅读全文
摘要:1.概念 堆是JVM中最重要的一块区域,JVM规范中规定所有的对象和数组都应该存放在堆中,在执行字节码指令时,会把创建的对象存入堆中,对象的引用地址存入虚拟机栈的栈帧中。不过当方法执行完之后,刚刚所创建的对象并不会立马被回收,也就是说对象并不会随着栈帧的消失而消失,而是要等JVM后台执行GC后,对象
阅读全文