JVM
JVM相关内容学习笔记分享
编程小透明
生如逆旅单行道,哪有岁月可回头。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
对象の创建过程是怎样的?
对象创建过程1. 类加载检查虚拟机遇到一条new指令时,首先将去检查这个指令的参数是否能在常量池中定位到这个类的符号引用,并且检查这个符号引用代表的类是否已被加载过、解析和初始化过。如果没有,必须先执行相应的类加载过程。2. 分配内存在类加载检查通过后,虚拟机将为新生对象分配内存。对象所需内存大小在类加载完成后便可确定,为对象分配空间的任务等同于把一块确定大小的内存从Java堆中划分出来。分配方式有:指针碰撞、空闲列表 两种。选择那种分配方式由Java堆是否规整决定,而Java堆是否规整又由所采用的原创 2020-09-23 09:45:52 · 268 阅读 · 0 评论 -
JVMの垃圾收集算法有哪些?
垃圾收集算法标记-清除算法先标记出需要回收的对象,在标记完成后统一回收所有被标记的对象。标记过程效率较低,标记清除后会产生大量的不连续碎片。复制算法为了解决效率问题,复制算法采用的是将内存分为大小相同的块,每次使用其中的一块,当这一块的内存使用完后,将还存活的对象复制到另外一块内存中,然后再把使用过的空间一次性清理掉,这样的处理方法就是对内存区间的一半进行回收。标记-整理算法根据老年代特点设计的一种标记算法,标记过程与标记-清除算法一致,但是后续步骤不是直接对可回收对象进行回收,而是让存活的对象原创 2020-09-23 09:45:00 · 190 阅读 · 0 评论 -
JVMの内存模型知多少?
内存区域1.8同1.7比,最大的差别就是:元数据区取代了永久代。元空间的本质和永久代类似,都是对JVM规范中方法区的实现。不过元空间与永久代之间最大的区别在于:元数据空间并不存在虚拟机中,而是存在本地内存中。堆JVM管理内存中最大的一块,是所有线程共享的一块内存区域,在虚拟机启动时创建。存放对象实例垃圾收集器主要管理的区域,由于收集器基本上采用分代垃圾收集算法,所以堆空间可细分为:新生代和老年代。HotSpot JVM把年轻代分为了三部分:1个Eden区和2个Survivor区(分别叫原创 2020-09-22 17:10:11 · 231 阅读 · 0 评论
分享