黑马程序员技术交流社区

标题: 关于常量池的问题 [打印本页]

作者: 王程    时间: 2012-8-4 11:46
标题: 关于常量池的问题
String str="abc";
在内存中把str存储在栈内存中,而把"abc"方法常量池中,我想问常量池在内存中属于哪个区域,是堆内存中还是栈内存中,或者其他区域?
作者: 瞿乐    时间: 2012-8-4 12:42
既是堆内存中也不是是栈内存中,在方法区中的。
作者: 郑文博    时间: 2012-8-4 14:49
首先要搞清楚Java对内存的化分      
java在内存中一共划分了五块区:堆、栈、方法区、本地方法区、寄存区
JVM在启动的时候默认分配内存空间是64MB,这64MB空间就划分成了五块。不管是哪个区都是内存的一部分,只不过堆内存相对要分配的大一些。
这里要搞清楚,常量池是属于类型信息的一部分,在JVM内存的方法区中。
希望能够帮到楼主
作者: 王程    时间: 2012-8-4 20:42
哦,明白了,问题解决了,谢谢啦




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2