方法区、堆、栈

72 阅读1分钟

JVM的内存管理

包括方法区、栈、堆

方法区

  1. 存储.class字节码文件

  2. 在解析过程中,类装载器会载入类对应的字节码文件,解析完成后将对应的信息存入方法区。

  1. 存放局部变量,参数。

  2. 进行方法的调用的时候,JVM会在栈中为每一个方法分配空间,这个空间称为方法的栈帧。一个栈帧对应一个正在调用的方法,栈帧中存储该方法的参数,局部变量等数据。

  3. 方法调用完成后,栈帧也会消除,那么也可以知道,方法中的局部变量存在在栈中,方法调用结束后,与栈帧一起消失。

  1. 堆存的是new出来的对象和他的成员变量。

  2. 成员变量的生命周期:创建对象的时候存在在堆中,对象被GC回收时一并消失。

  3. 垃圾:没有任何引用所指向的对象,GC会进行垃圾回收。

参考文章:blog.csdn.net/qq\_4513812…