基于龙芯处理器的Java运行环境的移植与优化
| 摘要 | 第1-4页 |
| 目录 | 第4-6页 |
| 图目录 | 第6-7页 |
| 表目录 | 第7-8页 |
| 第一章 引言 | 第8-12页 |
| 1.课题背景 | 第8页 |
| 2.Java相关技术简介 | 第8-9页 |
| 3.本文的工作 | 第9-10页 |
| 4.本文的组织 | 第10-12页 |
| 第二章 Java虚拟机相关研究 | 第12-24页 |
| 1.Java虚拟机规范 | 第12-17页 |
| ·Java类型与对象 | 第12-13页 |
| ·Java程序的组成 | 第13-14页 |
| ·动态类载入机制 | 第14-15页 |
| ·多线程与同步 | 第15页 |
| ·方法与字节码 | 第15-16页 |
| ·异常处理机制 | 第16页 |
| ·动态类型检查 | 第16-17页 |
| 2.字节码执行方式 | 第17-20页 |
| ·解释执行字节码 | 第18-19页 |
| ·JIT编译执行 | 第19-20页 |
| 3.垃圾收集 | 第20-24页 |
| ·垃圾收集的利与弊 | 第20-21页 |
| ·垃圾收集算法比较 | 第21-24页 |
| 第三章 Java虚拟机项目介绍 | 第24-30页 |
| 1.Kaffe | 第24页 |
| 2.Jikes RVM | 第24-25页 |
| 3.HotSpot | 第25-26页 |
| 4.JRockit JDK和IBM JDK | 第26页 |
| 5.性能比较 | 第26-30页 |
| 第四章 HotSpot虚拟机分析与移植 | 第30-50页 |
| 1.HotSpot简介 | 第30-31页 |
| 2.虚拟机启动过程 | 第31页 |
| 3.对象模型 | 第31-33页 |
| ·动态类型检查 | 第33页 |
| 4.汇编器 | 第33-36页 |
| ·CodeBuffer | 第33-34页 |
| ·重定位 | 第34页 |
| ·局部跳转 | 第34页 |
| ·一些重要的操作 | 第34-36页 |
| 5.线程与运行时环境 | 第36-38页 |
| ·创建线程 | 第36页 |
| ·线程类型 | 第36-37页 |
| ·线程指针 | 第37页 |
| ·运行时环境 | 第37-38页 |
| ·同步实现 | 第38页 |
| 6.解释器 | 第38-41页 |
| ·解释器结构 | 第39-40页 |
| ·解释器栈帧 | 第40页 |
| ·解释执行字节码 | 第40-41页 |
| 7.JIT编译器 | 第41-46页 |
| ·JIT编译器接口 | 第41-42页 |
| ·客户版JIT编译器 | 第42-45页 |
| ·服务器版JIT编译器 | 第45-46页 |
| 8.垃圾收集器原理 | 第46-48页 |
| ·分代 | 第47-48页 |
| ·Safepoint | 第48页 |
| 9.异常处理 | 第48-50页 |
| ·运行时环境抛出异常 | 第48-49页 |
| ·解释器抛出异常 | 第49页 |
| ·JIT编译器抛出异常 | 第49页 |
| ·寻找异常处理例程 | 第49-50页 |
| 第五章 优化HotSpot Java虚拟机 | 第50-54页 |
| 1.Thread对象指针优化 | 第50-51页 |
| 2.数组越界检查优化 | 第51-54页 |
| 第六章 HotSpot虚拟机性能分析 | 第54-60页 |
| 1.JVM TI接口 | 第54页 |
| 2.cmpxchg和swap | 第54-56页 |
| 3.HotSpot性能分析 | 第56-58页 |
| 4.JIT编译器性能分析 | 第58-60页 |
| 第七章 结论与展望 | 第60-63页 |
| 致谢 | 第63-64页 |
| 作者简历 | 第64页 |