Java虚拟机
文章平均质量分 91
降温vae+
这个作者很懒,什么都没留下…
展开
-
JVM堆中的新生代、老年代和永久代
文章目录新生代老年代永久代MinorGC和FullGCJVM中的堆分为三大部分:新生代、老年代、永久代,其大致的占比如下:新生代新生代又细分为三个区:Eden区、SurvivorFrom、ServivorTo区,三个区的默认比例为:8:1:1。大多数情况下,对象在新生代Eden区中分配。当Eden区没有足够的空间进行分配时,虚拟机将发起一次MinorGC。在新生代中,保存着大量的刚刚创建的对象,但是大部分的对象都是朝生夕死,所以在新生代中会频繁的进行MinorGC,进行垃圾回收。Eden区:J原创 2021-09-06 20:51:25 · 301 阅读 · 0 评论 -
对象和垃圾收集算法
文章目录对象已死?引用计数法根搜索算法(GC Roots Tracing)引用类型垃圾收集算法标记-清除算法复制算法标记整理算法分代收集算法Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。对象已死?堆中几乎存放着Java世界中所有的对象实例,垃圾收集器在堆进行回收之前,第一件事情就是要确定这些对象有哪些还“存活”着,那些已经“死去”(即不可能再被任何途径使用的对象)。引用计数法很多教科书判断对象是否存活的算法是这样的:给对象中添加一个引用计原创 2021-04-01 15:39:51 · 88 阅读 · 0 评论 -
JVM内存区域
文章目录概述运行时数据区域程序计数器Java虚拟机栈本地方法栈Java堆方法区运行时常量池对象访问Java与C++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出来。概述对于从事C和C++程序开发的开发人员来说,对于内存管理,他们既拥有每一个对象的“所有权”,又担负着每一个对象声明开始到终结的维护责任。而对于Java程序员,在虚拟机和自动内存的帮助下,不需要为每一个new操作去写配对的delete/free代码,而且不容易出现内存泄露和内存溢出问题,这样似乎看起原创 2021-04-01 14:40:13 · 101 阅读 · 0 评论