一、Java内存分区
java内存分区
****方法区
主要用来存储已被虚拟机加载的类的信息、常量、静态变量和即时编译器编译后的代码等数据。
****堆
java堆是所有线程所共享的一块内存,在虚拟机启动时创建,几乎所有的对象实例都在这里创建,因此该区域经常发生垃圾回收操作。
****虚拟机栈
1
. 虚拟机栈也就是我们平常所称的栈内存,它为java方法服务,每个方法在执行的时候都会创建一个栈帧,用于存储局部变量表、操作数栈、动态链接和方法出口等信息。
2
. 虚拟机栈是线程私有的,它的生命周期与线程相同。
参考文档:hprof内存文件分析,内存分区,类加载
二、Java内存分析工具
一、Intellij-idea内存分析工具-profiler工具
如何使用intellij-idea内存分析工具排查内存泄漏问题 有代码示例介绍profiler查看hprof文件
官网介绍:Analyze the memory snapshot
示例:
标签:分析,java,虚拟机,线程,内存,Java From: https://www.cnblogs.com/cheng2015/p/17470052.html