Java之常量池
来源:互联网 发布:java超市商品管理系统 编辑:程序博客网 时间:2024/05/04 05:41
常量池在java用于保存在编译期已确定的,已编译的class文件中的一份数据。它包括了关于类,方法,接口等中的常量,也包括字符串常量,如String s = "java"这种申明方式。常量池是在堆内存中的一块。
常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值外,还包含一些以文本形式出现的符号引用,比如:类和接口的全限定名、字段的名称和描述符、方法和名称和描述符。
class文件有11种常量表:
常量表类型
标志值(占1 byte)
描述
CONSTANT_Utf8
1
UTF-8编码的Unicode字符串
CONSTANT_Integer
3
int类型的字面值
CONSTANT_Float
4
float类型的字面值
CONSTANT_Long
5
long类型的字面值
CONSTANT_Double
6
double类型的字面值
CONSTANT_Class
7
对一个类或接口的符号引用
CONSTANT_String
8
String类型字面值的引用
CONSTANT_Fieldref
9
对一个字段的符号引用
CONSTANT_Methodref
10
对一个类中方法的符号引用
CONSTANT_InterfaceMethodref
11
对一个接口中方法的符号引用
CONSTANT_NameAndType
12
对一个字段或方法的部分符号引用
八种基本类型的包装类和对象池
java中基本类型的包装类的大部分都实现了常量池技术,这些类是Byte,Short,Integer,Long,Character,Boolean,另外两种浮点数类型的包装类则没有实现。另外Byte,Short,Integer,Long,Character这5种整型的包装类也只是在对应值小于等于127时才可使用对象池。
参考:百度百科-常量池-http://baike.baidu.com/view/8680346.htm
- Java之常量池
- java之常量池
- Java开发之常量池概念
- Java提高篇之常量池
- Java基础知识补充之常量池
- Java之String常量池的理解
- Java笔记之常量池浅析
- Java常量池之String.intern()
- JAVA常量池之String类
- java基础之常量池和异常
- Java常量池详解之Integer缓存
- Java心得体会之常量
- Java常量池详解之抓狂的面试题
- Java核心知识点-JVM结构之常量池
- Java内存分配之堆、栈和常量池
- Java常量池详解之抓狂的面试题
- Java内存分配之堆、栈和常量池
- Java内存分配之堆、栈和常量池
- 在Windows CE 6.0中添加对MFC的支持
- Mahout源码目录说明
- JQuery属性过滤器不完整
- Mahout下个性化推荐引擎Taste介绍
- WINCE双缓冲绘图
- Java之常量池
- UITextField
- Apache Mahout中的机器学习算法集
- newlisp读取数据超时功能
- opencv之2D点集最小外包矩形和圆形
- 软件设计模式系列之一 什么是设计模式(一)
- eclipse快捷键
- 【并查集+字典树】poj2513 Colored Sticks
- VSDebug、Ollydbg、WinDbg字符串条件断点设置方法