堆(heap),栈(stack)和常量池、方法区

栈: 存放一些基本类型的变量和对象和数组的引用变量。 由系统控制 ,一级缓存,调用完毕立即释放。单线程共享。

堆:存放所有new出来的对象 。存放数组,二级缓存,不立即释放 。多线程共享

常量池:存放基本类型常量和字符串常量。
String Pool Java6的时候在栈中, java7后放入堆中 。详见
Java常量池理解与总结
http://www.jianshu.com/p/c7f47de2ee8

静态区/方法区 /永久代/PermGen:方法区是存放虚拟机加载类的相关信息,如类、静态变量和常量,大小由-XX:PermSize和-XX:MaxPermSize来调节。

猜你喜欢

转载自blog.csdn.net/qq_27474277/article/details/74941855