美文网首页
java之深浅堆

java之深浅堆

作者: 任嘉平生愿 | 来源:发表于2019-11-02 15:57 被阅读0次

浅堆

表示一个对象结构所占用的大小(对象头+实例数据+对齐填充,不包括内部引用 对象大小)

深堆

表示一个对象被 GC 回收后,可以真实释放的内存大小(保留空间)对象

对象 

对象=对象头 + 实例数据 + 对齐填充

对象头

标记部分包括 hashcode、gc 分代年龄、锁状态标志、线程持有锁、偏向线程锁id,偏向时间戳,这一部分在32位机器上为 4 byte,64 位机器上为 8byte

分析内存分析

1.用jmp拿到进程的dump文件

2.用MAT工具导入dump文件分析堆内存溢出。

Java之内存泄露分析 - 简书

JVM基本常识

相关文章

  • java之深浅堆

    浅堆 表示一个对象结构所占用的大小(对象头+实例数据+对齐填充,不包括内部引用 对象大小) 深堆 表示一个对象被 ...

  • Java之深浅拷贝

    Java之深浅拷贝 基本类型:拷贝数据的值其他类型:拷贝地址的引用,拷贝出的新对象与原对象共享实例变量,不受访问权...

  • Java之深浅clone

    浅克隆 浅度克隆对于要克隆的对象,对于其基本数据类型的属性,复制一份给新产生的对象,对于非基本数据类型的属性,仅仅...

  • 内存溢出OOM和堆栈溢出SOF的示例

    1、Java堆溢出 (OOM) Java堆用于存储对象的实例,只要不断地创建对象,并且保证GC roots到对象之...

  • PriorityQueue优先队列

    基于堆排实现优先队列 死磕 java集合之PriorityQueue源码分析

  • Java深浅拷贝

    浅拷贝 浅拷贝仅仅复制所考虑的对象,而不复制它所引用的对象 输出结果 两个引用student1和student2指...

  • Java 深浅拷贝

    浅拷贝定义: 被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的引用仍然指向原来的对象。即对象的...

  • 搞懂深浅拷贝JavaScript内存之栈和堆

    对于前端来说,平时开发业务代码的时候根本不会关心JavaScript的内存问题,因为根本用不到,也因此对于内存分配...

  • 10.11java中的堆和栈

    java高级-堆和栈 java堆 /栈 栈内存 / 堆内存的区别 1. java堆 /栈 2. 栈内存 / 堆内存的区别

  • Java堆

    参考文献:https://www.cnblogs.com/ygj0930/p/6522828.html 1、新生代...

网友评论

      本文标题:java之深浅堆

      本文链接:https://www.haomeiwen.com/subject/wmvrcctx.html