| 摘要 | 第1-5页 |
| Abstract | 第5-7页 |
| 目录 | 第7-10页 |
| 第1章 引言 | 第10-18页 |
| ·课题背景 | 第10-11页 |
| ·Java 技术简介 | 第11-14页 |
| ·Java 平台体系结构 | 第11-12页 |
| ·Java 版本 | 第12-13页 |
| ·J2ME | 第13-14页 |
| ·嵌入式Java 虚拟机性能问题 | 第14-15页 |
| ·ARM7 简介 | 第15-16页 |
| ·课题来源 | 第16页 |
| ·内容安排 | 第16-18页 |
| 第2章 嵌入式Java 虚拟机与Java 字节码 | 第18-24页 |
| ·Java 虚拟机简介 | 第18-19页 |
| ·嵌入式Java 虚拟机KVM | 第19页 |
| ·Java 字节码 | 第19-20页 |
| ·Java 程序运行过程 | 第20-21页 |
| ·Java 字节码的解释执行 | 第21-24页 |
| 第3章 Java 虚拟机性能优化技术 | 第24-40页 |
| ·基于编译运行的优化技术 | 第24-28页 |
| ·即时编译 | 第24-25页 |
| ·适应性编译策略 | 第25-27页 |
| ·预先编译 | 第27-28页 |
| ·基于解释运行的优化技术 | 第28-36页 |
| ·线索化的解释器(Threaded Interpreter) | 第28-31页 |
| ·直接线索化的解释器(Direct Threaded Interpreter) | 第31-33页 |
| ·内嵌的线索化解释器(Inlined Threaded Interpreter) | 第33-36页 |
| ·其他常用优化技术 | 第36-39页 |
| ·消除公共子表达式(CSE) | 第36页 |
| ·Java 方法的内嵌(Method inlining) | 第36-37页 |
| ·指令合并技术 | 第37-38页 |
| ·消除尾递归 | 第38-39页 |
| ·小结 | 第39-40页 |
| 第4章 针对ARM7 平台的嵌入式Java 虚拟机优化方案 | 第40-54页 |
| ·基于ARM7 平台的移动通信设备与Java 虚拟机 | 第40-43页 |
| ·移动通信设备现状 | 第40页 |
| ·ARM7 平台结构 | 第40-41页 |
| ·编译优化与移动通信设备 | 第41-43页 |
| ·解释执行与移动通信设备 | 第43页 |
| ·使用移动通信设备的KVM 优化技术 | 第43-53页 |
| ·优化方案概述 | 第43-44页 |
| ·直接线索化的解释器的实现机制 | 第44-45页 |
| ·16 位的直接线索化解释器的实现机制 | 第45-51页 |
| ·字节码优化 | 第51-52页 |
| ·使用LRU 维护threaded code 空间 | 第52页 |
| ·提高CPU 指令cache 命中率 | 第52-53页 |
| ·小结 | 第53-54页 |
| 第5章 KVM 优化方案的设计与实现 | 第54-75页 |
| ·总体描述 | 第54-56页 |
| ·技术路线 | 第54页 |
| ·实验环境 | 第54-55页 |
| ·系统结构 | 第55-56页 |
| ·数据结构 | 第56-60页 |
| ·Java 对象数据结构instanceStruct | 第56-57页 |
| ·Java 类数据结构class | 第57页 |
| ·Java 类对象数据结构instanceClassStruct | 第57-58页 |
| ·Java 方法数据结构methodStruct | 第58-59页 |
| ·Java 方法活动记录数据结构frameStruct | 第59页 |
| ·threaded code 数据结构THREADEDCODE | 第59页 |
| ·Java 虚拟机全局状态结构GlobalStateStruct | 第59-60页 |
| ·字节码解释模块 | 第60-66页 |
| ·字节码的解释执行过程 | 第60页 |
| ·解释模块的组成 | 第60-61页 |
| ·解释模块的实现——execute.c | 第61-64页 |
| ·解释模块的实现——bytecodes.c | 第64-66页 |
| ·字节码翻译模块 | 第66-73页 |
| ·字节码翻译模块的组成 | 第66页 |
| ·字节码翻译的实现 | 第66-71页 |
| ·字节码翻译模块与解释模块的交互 | 第71-72页 |
| ·translateCode()工作过程 | 第72-73页 |
| ·其他模块 | 第73-75页 |
| ·线程调度 | 第73-74页 |
| ·内存管理 | 第74-75页 |
| 第6章 KVM 的移植及测试 | 第75-82页 |
| ·KVM 的移植 | 第75-79页 |
| ·移植接口层的抽取和包装 | 第76-78页 |
| ·移植接口层代码的单元测试 | 第78页 |
| ·基于Windows 的参考实现和验证 | 第78页 |
| ·向手机平台上移植虚拟机 | 第78-79页 |
| ·KVM 的调试 | 第79-80页 |
| ·性能测试 | 第80-82页 |
| 第7章 结论与进一步的工作 | 第82-83页 |
| 致谢 | 第83-84页 |
| 参考文献 | 第84-87页 |
| 作者攻硕期间的成果 | 第87页 |