方法区
1. 保存装载的类信息
类型的常量池
字段、方法信息 (JDK6时,String等常量信息置于方法,JDK7时,已经移动到了堆)
方法字节码
2. 通常和永久区关联在一起
java堆 (全局共享)
1. 和程序开发密切相关
2. 应用系统对象都保存在java堆中(new 操作出来的对象一般就是在这个里面)
3. 所有线程共享java堆
4. 对分代GC来说,堆也是分代的
5. GC的主要工作区间
java栈
1. 线程私有
2. 栈由一系列帧组成(因此java栈也叫做帧栈)
3. 帧保存一个方法的局部变量、操作数栈、常量池指针
4. 每一次方法调用创建一个帧,并压栈