Java内存分析

发布时间 2023-06-09 19:38:29作者: 十二楼C

一、Java内存分区

java内存分区

****方法区
主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。
****堆
java堆是所有线程所共享的一块内存,在虚拟机启动时创建,几乎所有的对象实例都在这里创建,因此该区域经常发生垃圾回收操作。
****虚拟机栈
1. 虚拟机栈也就是我们平常所称的栈内存,它为java方法服务,每个方法在执行的时候都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接和方法出口等信息。
2. 虚拟机栈是线程私有的,它的生命周期与线程相同。
 

二、Java内存分析工具

一、Intellij-idea内存分析工具-profiler工具

如何使用intellij-idea内存分析工具排查内存泄漏问题  有代码示例介绍profiler查看hprof文件

官网介绍:Analyze the memory snapshot

示例: