jvm 数据块
1,方法区 主要存放方法,全局变量,静态变量
2. 常量区 静态字符串
3.栈 :函数的参数值,局部变量的值。基本类型的变量和对象的的引用。
4.堆 成员变量 new出的对象。
例如 字符串
字符串的已用存在栈中,编译期就存在常量区内,运行 期间存在堆中。
堆和栈的区别
1.对是由于创建对象时建立,解决程序数据的问题。由于new创立,不由程序显示的释放,而是由垃圾回收机制回收,垃圾回收期回回收没有引用的堆空间。运行速度慢。
2.栈 解决程序运行问题,读取速度快,大小和运行期确定。存放常量和对象的引用。