![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JVM
文章平均质量分 91
晴天的空间
这个作者很懒,什么都没留下…
展开
-
JVM-GC垃圾回收机制
学习JVM垃圾回收机制主要学习以下几点:哪些内存需要回收(判断对象可以回收)、什么时候回收(GC什么时候执行)、怎么回收(垃圾回收算法、垃圾回收器)、垃圾回收过程。JVM GC回收哪些区域内的垃圾?JVM GC只回收堆区和方法区内的对象,不回收虚拟机栈内的数据,栈内数据在超出作用域后会被JVM自动释放掉。因为JVM GC回收堆区的对象,所以先了解学习一下堆内存的结构图:堆内存分为年轻代(Young Generation)、老年代(Old Generation),年轻代和老年代所占空间比例默认是1:2原创 2022-03-22 22:01:53 · 647 阅读 · 0 评论 -
JVM-类加载详解
一、JVM类加载过程JVM类加载过程如下图:JVM类加载过程分为:加载 、链接 、初始化 、使用 、卸载 这五个阶段,其中链接阶段又包括: 验证 、 准备 、 解析 。加载 :通过类的完全限定名,查找此类的二进制字节码文件,通过该字节码文件创建Class对象。链接 :包含 验证 、 准备 、 解析 三个阶段:验证 :确保Class文件复合虚拟机规定的Class文件格式,包含文件格式验证、元数据验证、字节码验证、引用符号验证。准备 :为类的静态变量分配内存并设置初始化值,注:这里不包含fi原创 2022-03-19 20:10:41 · 8104 阅读 · 0 评论 -
JVM-内存模型详解
一、JDK1.6、JDK1.7、JDK1.8内存模型演变JDK1.6、JDK1.7、JDK1.8内存模型演变规程如下图:从上图我们可以看出这些版本的JVM内存模型主要有以下差异:JDK1.6:有永久代,静态变量存放在永久代(方法区)。JDK1.7:有永久代,但是已经把字符串常量池、静态变量存放到堆中,逐渐减少永久代的使用。JDK1.8:无永久代,运行时常量池、类常量池都保存到元数据区,也就是常说的元空间。但字符串常量池仍存在堆中。二、JVM运行时内存区域概述JVM在运行时Java程序时,原创 2022-03-16 23:25:15 · 905 阅读 · 0 评论