
JVM
文章平均质量分 96
w7486
这个作者很懒,什么都没留下…
展开
-
深入学习JVM(Java虚拟机)
运行时数据区方法区:方法区只有一个,是线程共享的,生命周期和虚拟机一样。存储类信息,常量,静态变量和编译后的代码,常量池。方法区满了会OutOfMemoryError(OOM)。堆:堆也只有一个,是线程共享的,生命周期和虚拟机一样。存储的是对象。堆满了也会OOM.虚拟机栈:是线程私有的,生命周期和创建的线程一样。存储8种基本数据类型和对象的引用,每调用一个方法就会把一个栈帧压栈。栈满了会报错StackOverflowError。Java虚拟机栈,执行方法的时候,到底经历什么? ja...原创 2023-09-22 11:13:05 · 452 阅读 · 0 评论 -
Java垃圾回收机制(GC)
1.垃圾回收算法1)标记清除算法:标记:先进行扫描,将已存活的对象进行标记;清楚:对堆内存进行遍历,回收没有标记的对象;缺点:清楚后会产生大量不连续的内存碎片,也就是碎片化问题;这个问题可能导致后续创建较大的对象时无法找到足够的连续空间继而再次触发垃圾回收。2)复制算法:将可用内存分为对象面和空闲面,在对象面上创建对象,若对象面满,就将还存活的对象复制到空闲面,然后将对象面的所有对象清楚。这个算法解决了碎片化的问题,特别使用Eden区,因为Eden区对象的存活率很低,所以所需复制的对原创 2022-03-30 22:35:38 · 3288 阅读 · 0 评论