文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | firefox | WPS | 杀毒软件 | Picasa
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形图像 办公软件 媒体动画 精文荟萃 常用软件 网页编程 技术开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院程序开发JavaJava基础:你是否了解KVM的常量池
精品推荐
特别推荐
·实例讲解:Java中的SOAP技术
·Java语言出现的背景 影响及前景
·Java精华积累:初学者都应该搞懂的问题
·Java多媒体框架设计自动播放机实例详解
·如何有效防止Java程序源码被人偷窥?
·Cell插件在J2EE系统中的应用
·初学者想学Hibernate,初级基础教程
·Java语言实现支持视频点播的WEB服务器
·关于Java编程的中文问题的几条分析原则
·确保J2ME无线移动商业应用程序的安全性
·Java开源技术:Eclipse的使用技巧详解
·新手入门:Java中的修饰词使用方法总结
·JAVA开发者应该去的20个英文网站
·使用JDBC创建数据库访问程序
·JDK的命令详解
·Java学习从入门到精通(附FAQ)
·Tomcat性能调整
·JSF:Java中面向Web开发的生旦净末丑
·对Java语言入门初学者的一些建议
·Java技术的新方向
热点TOP10
·用Java实现SMTP服务器
·实例讲解:Java中的SOAP技术
·用Java编写的记事本程序(2)
·Java语言出现的背景 影响及前景
·Java语言实现支持视频点播的WEB服务器
·运用Jakarta Struts的七大实战心法(1)
·Tomcat性能调整
·详细解析Java中抽象类和接口的区别
·Java多媒体框架设计自动播放机实例详解
·用Java编写的记事本程序(3)
·用Java编写的记事本程序(1)
·Liferay中整合tinyMCE详解
·《精通SOA:基于服务总线的Struts+EJB+Web Service整合应用开发》目录
·Eclipse上的Tomcat插件安装和调试
·3D编程指南第一部分:快速进入移动JAVA 3D编程世界
·用java编写的小游戏源代码分析
·图解JBuilderX安装与实践
·Java精华积累:初学者都应该搞懂的问题
·Java技术的新方向
·JDK的命令详解

Java基础:你是否了解KVM的常量池

日期:2007年12月14日 作者: 查看:[大字体 中字体 小字体]


在class文件中,“常量池”是最复杂也最值得关注的内容。

Java是一种动态连接的语言,常量池的作用非常重要,常量池中除了包含代码中所定义的各种基本类型(如int、long等等)和对象型(如String及数组)的常量值还,还包含一些以文本形式出现的符号引用,比如:

类和接口的全限定名;

字段的名称和描述符;

方法和名称和描述符。

在C语言中,如果一个程序要调用其它库中的函数,在连接时,该函数在库中的位置(即相对于库文件开头的偏移量)会被写在程序中,在运行时,直接去这个地址调用函数;

而在Java语言中不是这样,一切都是动态的。编译时,如果发现对其它类方法的调用或者对其它类字段的引用的话,记录进class文件中的,只能是一个文本形式的符号引用,在连接过程中,虚拟机根据这个文本信息去查找对应的方法或字段。

所以,与Java语言中的所谓“常量”不同,class文件中的“常量”内容很非富,这些常量集中在class中的一个区域存放,一个紧接着一个,这里就称为“常量池”。

常量池由多条“常量池项”组成,每一个常量池项又由两部分组成,这里分别称为“常量池项头”和“常量池项体”。

常量池项头表明常量池项的类型,常量池项共分为11种类型,分别为:

常量池项类型
 值
 说明
 
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
 对一个class的符号引用
 
CONSTANT_String
 8
 String型常量
 
CONSTANT_Fieldref
 9
 对一个字段的符号引用
 
CONSTANT_Methodref
 10
 对一个类方法的符号引用
 
CONSTANT_InterfaceMedthodref
 11
 对一个接口方法的符号引用
 
CONSTANT_NameAndType
 12
 对名称和类型的符号引用

常量池项体中存放的就是对应的常量数据,比如各种数值型的常量或者字符串等等。

以下介绍kvm中的常量池是如何组织起来的。

数据结构

在KVM的头文件kvm/vmcommon/h/pool.h中,有以下对常量池项类型的定义:

#define CONSTANT_Utf8                       1
#define CONSTANT_Integer                    3
#define CONSTANT_Float                      4
#define CONSTANT_Long                       5
#define CONSTANT_Double                     6
#define CONSTANT_Class                      7
#define CONSTANT_String                     8



[1] [2] [3] 下一页 




上一篇:配置无线局域网 图解WLAN配置攻略

下一篇:Static和Final修饰类属性变量及初始化

Java基础:你是否了解KVM的常量池 相关文章:
·电脑基本英语单词
·C#基础概念二十五问
·网络游戏封包基础
·不可错过!超强的兔斯基QQ表情全集下载
·Windows黑客编程基础
·卡巴斯基杀毒软件优化设置指南
·网络组建大全(包括企业网、校园网、网吧和基础知识)
·DELPHI基础开发技巧
·破解基础知识汇编
·Auto CAD三维基础实例:弯管制作教程
Java基础:你是否了解KVM的常量池 相关软件:
·卡耐基全套书籍
·基督教教义史
·卡巴斯基®反病毒软件V6.0.2.621 中文版
·SQL Server 2000 基础系列课程视频
·计算机基础知识教程
·计算机基础知识
·街机麻将电子基盘PC模拟版
·Kaspersky(卡巴斯基) Anti-Virus V7.0.0.119 tr 简体中文测试版
·AutoCAD 2004基础与实例教程
·基督山伯爵

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:vipcn