运行时常量池与Class文件常量池的区别

可以理解为:class文件常量池只是.class文件中的、静态的;而运行时常量池,是在运行时将所有class文件常量池中的东西加载进来?

运行时常量池是方法区内存中的一部分,Class文件常量池是指方法区?

http://hllvm.group.iteye.com/group/topic/26412#post-187861


CLass文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。
运行时常量池相对于CLass文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有编译期才能产生,也就是并非预置入CLass文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新
的常量放入池中,这种特性被开发人员利用比较多的就是String类的intern()方法。

posted @ 2017-07-25 10:13  車輪の唄  阅读(17)  评论(0)    收藏  举报  来源