Java虚拟机技术的研究与实现
文献类型:学位论文
作者 | 丁宇新 |
学位类别 | 博士 |
答辩日期 | 1999 |
授予单位 | 中国科学院软件研究所 |
授予地点 | 中国科学院软件研究所 |
关键词 | 虚拟机 Java无用单元回收 线程 解释 及时编译 异常处理 中文化 |
学位专业 | 计算机软件与理论 |
中文摘要 | Java虚拟机技术是Java平台的核心技术,Java语言之所以实现了平台中立,其根本原因在于各操作系统平台都配有Java虚拟机,虚拟机屏蔽了不同软硬平台之间的差异,它负责解释或及时编译执行Java字节码文件。Java虚拟机技术涉及的范围很广,其中包括解释技术、及时编译技术、异常处理技术、多线程技术、内存管理与无用单元的回收技术等。本论文的背景是开发基于国产开放系统平台COSA/COSIX的Java虚拟机。论文在第一章给出虚拟机构的综述,其后的各章结合我们在开发过程中的具体实践对虚拟机的关键技术进行了深入的分析,并就其设计与实现提出相应的改进方案。论文的第一章介绍了虚拟机的产生及其发展、Java虚拟机的体系结构及其设计、及目前Java虚拟机中所采用的各种技术,在本章我们所讨论的虚拟机包括Sun、Intel、IBM等公司的产品。论文在第二章主要讨化了类在内存中的建立过程。在这一章我们先简单介绍了Java类文件的格式,接着就类在内存中的数据结构及类的加载与解析过程进行了详细的讨论,最后讨论了界面在内存中的存储结构。第三章讲述Java虚拟机多线程的设计与实现,本章首先概要介绍了程序设计语言的并发及Java语言的并发机制,之后详细介绍了国产开放系统平台Java虚拟机多线程的设计与实现,其中包括线程的创建与运行状态分析、线程库函数的建立、多线程的调度及同步。在线程调度上,我们采用了带有独立队列的静态级别轮巡调度,独立队列无固定优称级,该队列中的线程与当前最高优先权队列中的线程被调度程序分时调度,该设计较好地解决了独立循环线路的调度问题。对于线程的同步,我们提出了哈希混合锁的对象设计方案,我们认为这是基于锁的执行效率与空间分配考虑的一个可行的折中方案。实验证明我们的方案是可行的,其具有加锁、释锁效率高及节省空间等特点。第四章对虚拟机中无用单元的回收算法的设计进行了详细讨论。本章先简单介绍了无用单元回收算法的发展情况,及目前Java虚拟机中无用单元回收算法的设计,之后结合Java虚拟机的特点,提出了Java虚拟机无用单元精确回收过程中内存数据类型的标记算法,本章还简要讨论了Java虚拟机增量式回收算法中多线程的具体设计,最后用实验验证了我们算法的可行性。第五章结合国产操作系统平台(COSA/COSIX)Java解释器与及时编译器的设计与实现详细介绍了Java的运行技术,其中包括解释及其优化技术、及时编译及其优化技术、Java动态编译技术、Java静态编译技术及JavaCPU。在解释器的设计上我们提出了组合伪指令,提高了解释执行的效率。在设计及时编译器时我们采用了的指令静态模拟与宏替换相结合的编译方法,及时编译过程中指令属性四元组的建立提高了程序的可移植性。第六章介绍了程序设计语言异常处理机制的设计及其发展要概况,着重论述了Java语言的异常处理机制,最后结合国产开放系统平台COSIX虚拟机异常处理的设计,深入探讨了在解释执行及及时编译执行两种不同的情况下,异常处理设计与实现的关键技术。第七章讨论了Java中文化技术。本章在深入分析Java内部编码机制的基础上,指出了现存Java开发工具中中文化存在的问题,并提出了解决方案。最后一章对我们工作中的不足及下一阶段的任务进行了讨论。 |
语种 | 中文 |
公开日期 | 2011-03-17 |
页码 | 106 |
源URL | [http://ir.iscas.ac.cn/handle/311060/7126] ![]() |
专题 | 软件研究所_中科院软件所_中科院软件所 |
推荐引用方式 GB/T 7714 | 丁宇新. Java虚拟机技术的研究与实现[D]. 中国科学院软件研究所. 中国科学院软件研究所. 1999. |
入库方式: OAI收割
来源:软件研究所
浏览0
下载0
收藏0
其他版本
除非特别说明,本系统中所有内容都受版权保护,并保留所有权利。