jvm 堆栈方法区数据存放和操作流程
博客分类: jvm
栈:
1 基础数据类型 byte short int long float double char boolean
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