11 2024 档案
摘要:一、标记清除算法: 二、复制算法: 步骤: 1. 把整个堆内存空间划分为两块:From空间、To空间;每次在对象分配阶段,只能使用From空间 2. 垃圾回收阶段开始时,将GC Root对象搬运到To空间,再将GC Root关联的对象也搬运到To空间 3. 最后,From空间剩下的就是与GCRoot
阅读全文
摘要:如何实现回收的(核心思想): 1. 找到内存中存活的对象(与GC Root相关联) 2. 释放不再存活对象的内存,使得程序能再次利用这部分空间 垃圾回收算法的分类:
阅读全文
摘要:Java使用的是可达性分析算法来判断对象是否可以被回收。该算法将堆上的对象被分成了两类:一类叫垃圾回收的根对象(GC Root),一类叫普通对象;对象和对象之间会存在一个引用关系 GC Root对象是不可以被回收的,jvm也会持有一个所有GC Root对象的列表。 可达性分析算法:从GC Root对
阅读全文
摘要:堆、方法区、直接内存,多个线程之间是共享的。 堆内存是会溢出的。 堆内存默认最大是7G
阅读全文
摘要:----------- ---------------------- -----------------
阅读全文
摘要:线程不共享:每当创建一个线程之后,每一个线程里边都会有一份程序计数器、Java虚拟机栈、本地方法栈
阅读全文
摘要:public class Main { public Main() { System.out.println("B"); } { System.out.println("C"); } public static void main(String[] args) { new Main(); new M
阅读全文