JVM(Java虚拟机)内存可以分为三个区域:栈(stack)、堆(heap)、方法区(method area)


1、JVM为每一个线程创建一个栈用于存放该线程执行方法的信息(局部变量、实际参数等),栈帧属于线程私有,不能共享

2、每个方法被调用都会创建一个栈帧

3、栈是由系统自动分配,速度快,是一个连续的内存空间


1、JVM只有一个堆,被所有线程共享

2、堆用于储存创建好的对象

3、堆是一个不连续的内存空间,速度慢

方法区
1、方法区实际也是堆

2、JVM只有一个方法区,被所有线程共享

3、方法区用来存放程序中永远不变或者唯一的内容,如(类信息、静态变量、静态方法、字符串常量)

示例:

 

内存分析

源代码.png

 

内存分析

内存分析.png

相关文章:

  • 2021-10-21
  • 2021-05-24
  • 2021-04-04
  • 2022-12-23
  • 2022-01-18
猜你喜欢
相关资源
相似解决方案