对象分布图
例子
/**
* @Description: 探究引用分布
* @Author: jianweil
* @date: 2021/8/30 9:17
*/
public class Test {
//常量-方法区
final static int constantPrice = 1;
final static String constantName = "常量1";
//字符串
String stringName1 = "字符串1";
String stringName2 = new String("字符串2");
//静态常量池
static int staticPrice = 100;
static Item item1 = new Item("条目1", staticPrice);
//实例变量-堆
int instancePrice = 200;
Item item2 = new Item("条目2", instancePrice);
public static void main(String[] args) throws InterruptedException {
Test test1 = new Test();
int mainA = 300;
String intern = test1.stringName2.intern();
Item mainItem = new Item("main条目", mainA);
}
}
class Item {
//名字
private String name;
//价格
public int number;
public Item(String name, int number) {
this.name = name;
this.number = number;
}
}
分布图
深入理解JVM系列
- 1.深入理解JVM(一)一一 简介和体系结构
- 2.深入理解JVM(二)一一 类加载器子系统
- 3.深入理解JVM(三)一一 运行时数据区(虚拟机栈)
- 4.深入理解JVM(四)一一 运行时数据区(程序计数器+本地方法栈)
- 5.深入理解JVM(五)一一 运行时数据区(堆)
- 6.深入理解JVM(六)一一 运行时数据区(方法区)
- 7.深入理解JVM(七)一一 执行引擎(解释器和JIT编译器)
- 8.深入理解JVM(八)一一 字符串常量池
- 9.深入理解JVM(九)一一 对象实例化和内存布局
- 10.深入理解JVM(十)一一 字节码层面剖析程序执行过程
- 11.深入理解JVM(十一)一一 垃圾回收相关概念
- 12.深入理解JVM(十二)一一 垃圾回收相关算法
- 13.深入理解JVM(十三)一一 详解垃圾回收器
- 14.深入理解JVM(十四)一一 对象分布图
- 15.深入理解JVM(十五)一一 class文件结构
- 16.深入理解JVM(十六)一一 字节码指令集
- 17.深入理解JVM(十七)一一 类的生命周期详解
- 18.深入理解JVM(十八)一一 再谈类的加载器
- 19.深入理解JVM(十九)一一 JVM监控及诊断工具(命令行)
- 20.深入理解JVM(二十)一一 JVM监控及诊断工具(GUI)
- 21.深入理解JVM(二十一)一一 JVM运行时参数(收藏篇)
- 22.深入理解JVM(二十二)一一 分析GC日志
- 23.深入理解JVM(二十三)一一 OOM场景及解决方案