本文转载自:http://chengjianxiaoxue.iteye.com/blog/2153147
栈:
1 基础数据类型 byte short int long float double boolean char
2 方法的形式参数,方法调用完之后从栈空间回收
3 引用对象的地址,引用完之后,栈空间地址立即被回收,堆空间等待GC
a)栈内的数线程之间独立
b)具体细分为:
b.1)基本类型变量区
b.2)执行环境上下文
b.3)操作指令区
堆
1 this
2 new出来的对象
3 数组
a) jvm只有一个堆区,并被所有线程共享。
方法区域(又叫 静态区)
1 字符串常量
2 static
3 所有的class
a) 被所有线程共享, 其内存放程序中永远唯一的元素,eg: static class
案例分析: