赞
踩
JVM就是Java虚拟机,它包含堆,栈以及方法区。
1. 堆中存放的是 对象实例
- // 堆中存放的就是 new Student()
- Student s = new Student() ;
2. JVM中只有一个堆区,它是被所有线程 共享 的,所以也需要注意线程安全的问题。
3. 成员变量 是对象的一部分,外部是可以调用的,所以是存在堆中的。
1. 栈中存放是 基本数据类型 和 对象的引用
- // 因为是基本类型,所以引用和值都存在栈中
- int a = 1;
- // 栈中存放的就是 s(对象的引用)
- Student s = new Student() ;
2. JVM中每个线程都有一个栈,里面的内容都是私有的,栈之间不能互相访问。
3. 局部变量 是在方法中的,方法外是不可以调用的,更像是线程私有的,所以是存放在栈中的。
1. 方法区又叫静态区,里面存放的是 .Class字节码文件 和 static变量
2. JVM中只有一个方法区,它是被所有线程 共享 的,所以也需要注意线程安全的问题。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。