码迷,mamicode.com
首页 > 编程语言 > 详细

Java 运行时常量池

时间:2017-07-30 18:10:15      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:执行   产生   类加载   部分   字节   方法   版本   java语言   运行   

  运行时常量池是方法区的一部分。class中除了有类的版本,字段,方法,接口等描述信息外,还有一项信息是常量池,用于存放编译期生成的各种字面量和符号引用,这部分内容将在类加载后存放在方法区的运行时常量池中。

  Java虚拟机对class文件的每一部分(自然也包括常量池)的格式都有严重的规定,每一个字节用于存储哪种数据都必须符合规范上的要求,这样才会被虚拟机认可,装载和执行。但对于运行时常量池,Java虚拟机规范中没有做任何细节的要求。一般来说,除了保存class文件中描述的符号引用外,还会把翻译出来的直接引用也存储在运行时常量池中。

  运行时常量池相对于class文件常量池的另外一个重要的特征是具备动态性,Java语言并一定要求常量一定只在编译器产生,也就是说并非预置入class文件中常量池的内容才能进方法区运行时常量池。运行期间也可能将新的常量池放入池中,这种特性被开放人员利用的比较多的便是string类的intern()方法。

Java 运行时常量池

标签:执行   产生   类加载   部分   字节   方法   版本   java语言   运行   

原文地址:http://www.cnblogs.com/yezixiao/p/7259623.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!