您的论文得到两院院士关注文章编号:1008-0570(2007)08-2-0147-02
ARM开发与应用
Java虚拟机向ARM平台的移植
PortingtoARMPlatformofJavaVirtualMachine
(1.中国地质大学"地下信息探测技术与仪器"教育部重点实验室;2.清华大学
计算机与信息管理中心)袁文菊
1
孙天泽
2
李梅
1
YUANWENJUSUNTIANZELIMEI
摘要:介绍Java虚拟机的概念,以
常用的KVM为例,讲述了将Java虚拟机移植到ARM平台的方法,重点介绍了移植过程中的编译选项。关键词:虚拟机;移植;ARM中图分类号:TP368.2文献标识码:A
Abstract:ThispaperintrducedtheconceptofJavaVirtualMachineandportingtoARMplatform.Illustratedhowtoconfigureoptionsinporting.Key
words:VirtualMachine,Porting,ARMJava虚拟机(JVM,JavaVirtualMachine)是Java技术的重要
组成部分,它是一个抽象的计算机,和实际的计算机一样,它具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。Java解释器负责将字节代码翻译成特定机器的机器代码。我们知道,Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般的高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。
1KVM移植
KVM是KilobyteVirtualMachine(千字节虚拟机)的缩写,
可以为微型电子设备提供完整的Java运行环境。除了一些微型电子设备所必需的适当功能有所不同外,它是由Java虚拟机规范定义的真实的Java虚拟机。具有下面几个特征:容量小,仅占用60KB的虚拟机核心静态内存轻便,精巧模块化,可订制尽可能完全紧凑地保证不牺牲其他
设计目的为了尽量减少虚拟机的开销,SUN公司的开发人员在设计时对功能作了一些削减,使得KVM产生了一些限制,例如:不包含finalize方法不支持本地借口jni用户不能自己定义类装载器不支持反射不支持线程组和DemonThread大大简化的错误处理限制移植JVM首先要对编译选项进行设置。参数及宏设定1.1编译标签、这里介绍的编译的标签、参数和宏设定,均在VmCom-
技术创新
图1Java组成部分及其关系Java虚拟机是
程序与底层操作
系统和硬件无关的关键。它的下方是移植接口,移植接口由两部分组成:适配器和Java操作系统,其中依赖于平台的部分称为适配器;JVM通过移植接口在具体的平台和操作系统上实现;在JVM的上方是Java的基本类库和扩展类库以及它们的API,利用JavaAPI编写的Appli-cation和Applet可以在任何Java平台上运行而无需考虑底层平台,就是因为有Java虚拟机实现了程序与操作系统的分离,从而实现了Java的平台无关性。袁文菊:讲师博士研究生《PLC技术应用200例》
mon/h/main.h文件中定义。可以通过修改VmUnixWin)/ma-(chine_md.h文件中的设定来达到同样的目的,另外一种方法是通过makefile来设定编译参数。1.1.1通用的编译选项:#defineCOMPILER_SUPPORTS_LONG1//是否支持64位长整(1代表支持)。#defineNEED_LONG_ALIGNMENT0//指示KVM宿主系统将设定所有的64位整数为8字节。#defineBIG_ENDIAN0#defineLITTLE_ENDIAN0//大小端设定,应该在移植的平台相关的头文件里面设置
其中一个为1。邮局订阅号:82-946360元/年-
147-
ARM开发与应用
中文核心期刊《微计算机信息》(嵌入式与SOC)2007年第23卷第8-2期必须要做设置,可以通过设置Gnumake来达到一些相同的效果。