JVM运行时数据 堆
创始人
2024-03-04 23:34:41
0

JVM运行时数据 堆

  • 快速调试
  • 堆参数设置
  • 堆分类
  • 运行流程
  • Minor GC、Major GC与Full GC
  • 分代思想
  • 内存分配策略
  • TLAB
  • 堆空间参数设置

快速调试

  • 一个JVM实例只存在一个堆内存,对也是Java内存管理的核心区域
  • Java 堆区在Jvm启动的时候创建,其空间大小也就确定了。是JVM管理最大的一块内存空间(可调节)
  • 《Java虚拟机规范》规定,堆可以处于物理上不连续的内存空间,但在逻辑上他应该被视为连续的
  • 所有的线程共享Java堆,在这里还可以划分线程私有的缓冲区(Thread Local Allocation Buffer,TLAB)
public class Test {public static void main(String[] args) {System.out.println("start ...");try {TimeUnit.SECONDS.sleep(1000000);} catch (Exception e) {e.printStackTrace();}System.out.println("...end");}
}

调个参数
-Xms10m -Xmx10m
启动

然后启动 jvisualvm.exe请添加图片描述

  • 《Java虚拟机规范》中对Java堆的描述是:所有的对象实例以及数组都应当运行时分配在堆上。(The heap is the run-time data area from which memory for all class instance and arrays is allocated)
    “几乎”所有的对象实例都在这里分配内存–从实际使用角度看
  • 数组和对象可能永远不会存储在栈上,因为栈帧中保存引用,这个引用指向对象或者数组在堆中的位置
  • 在方法结束后,堆中的对象不会马上被移除,仅仅在垃圾收集的时候才会被移除
  • 堆,是GC(Garbage Collection,垃圾收集器)执行垃圾回收的重点区域

请添加图片描述

jdk7之前与jdk8的区别
请添加图片描述
打印GC垃圾回收:-XX:+PrintGCDetails
请添加图片描述

堆参数设置

请添加图片描述

查看设置的大小:
jstat -gc pid
或者设置参数 -XX:+PrintGCDetails

堆分类

请添加图片描述
请添加图片描述
请添加图片描述

指定新生代和老年代占比:-XX:NewRatio=value
指定新生代中s0,s1,Eden占比:默认是8:1:1
指定新生代最大内存 :-Xmn

运行流程

请添加图片描述

Eden园区满了,触发全局YGC(Eden,S0,S1),S0,S1满了不会触发GC

请添加图片描述

Minor GC、Major GC与Full GC

请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述

分代思想

请添加图片描述
请添加图片描述

内存分配策略

请添加图片描述
请添加图片描述

TLAB

请添加图片描述
请添加图片描述
请添加图片描述

堆空间参数设置

请添加图片描述

相关内容

热门资讯

汽车油箱结构是什么(汽车油箱结... 本篇文章极速百科给大家谈谈汽车油箱结构是什么,以及汽车油箱结构原理图解对应的知识点,希望对各位有所帮...
美国2年期国债收益率上涨15个... 原标题:美国2年期国债收益率上涨15个基点 美国2年期国债收益率上涨15个基...
嵌入式 ADC使用手册完整版 ... 嵌入式 ADC使用手册完整版 (188977万字)💜&#...
重大消息战皇大厅开挂是真的吗... 您好:战皇大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...
盘点十款牵手跑胡子为什么一直... 您好:牵手跑胡子这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游...
senator香烟多少一盒(s... 今天给各位分享senator香烟多少一盒的知识,其中也会对sevebstars香烟进行解释,如果能碰...
终于懂了新荣耀斗牛真的有挂吗... 您好:新荣耀斗牛这款游戏可以开挂,确实是有挂的,需要了解加客服微信8435338】很多玩家在这款游戏...
盘点十款明星麻将到底有没有挂... 您好:明星麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【5848499】很多玩家在这款游戏...
总结文章“新道游棋牌有透视挂吗... 您好:新道游棋牌这款游戏可以开挂,确实是有挂的,需要了解加客服微信【7682267】很多玩家在这款游...
终于懂了手机麻将到底有没有挂... 您好:手机麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【8435338】很多玩家在这款游戏...