可以理解为:class文件常量池只是.class文件中的、静态的;而运行时常量池,是在运行时将所有class文件常量池中的东西加载进来?
运行时常量池是方法区内存中的一部分,Class文件常量池是指方法区?
http://hllvm.group.iteye.com/group/topic/26412#post-187861
CLass文件中除了有类的版本、字段、方法、接口等描述信息外,还有一项信息是常量池,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后进入方法区的运行时常量池中存放。
运行时常量池相对于CLass文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有编译期才能产生,也就是并非预置入CLass文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新 的常量放入池中,这种特性被开发人员利用比较多的就是String类的intern()方法。
运行时常量池相对于CLass文件常量池的另外一个重要特征是具备动态性,Java语言并不要求常量一定只有编译期才能产生,也就是并非预置入CLass文件中常量池的内容才能进入方法区运行时常量池,运行期间也可能将新 的常量放入池中,这种特性被开发人员利用比较多的就是String类的intern()方法。