目的:将虚拟机移到其它平台上。
涉及的知识:
1.操作系统和设备驱动;
2.面向对象的程序设计;
3.Java虚拟机的语义;
4.Java语言编程;
5.C语言编程;
6.汇编语言编程;
7.开源软件开发工具;
主机平台:ubuntu Linux, x86
对目标平台的要求(包括CPU和操作系统):
CPU:(主要影响加入JIT之后的虚拟机的性能)
RISC CPU:ARM,MIPS,PowerPC,Sparc。
非RISC CPU:x86(不支持JIT)
OS:能提供通常的系统服务,具体为:
内存管理:
ANSI 标准I/O:
POSIX 线程管理:
Berkeley Sockets:
系统库函数:(主要由JNI决定,JNI提供了一种Java类执行平台本地方法的机制)。
源代码的组成:
1.虚拟机的源代码。
2.CDC,FP,PBP,PP类库的源代码,包括java文件和JNI部分。
3.Porting层的代码,包括虚拟机和类库的JNI。