| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 编程开发 > Java教程 > J2SE基础类 > 文章正文 用户登录
一个很实用的基于
Flash & Ajax
关于导入MP3的问题
我的计划 & S
有些MP3无法导入F
修正flash v2 Com
MP3不能导入FLASH
MP3不能顺利导入F
Template Method(
AS随机调用外部MP

KVM Porting 指南⑴           

KVM Porting 指南⑴

作者:翻译:Di… 来源:ChinaJavaWorld 作者: 翻译:Ding 更新:2006-8-25 21:05:35 错误报告 我要投稿

英文原名:KVM Porting Guide (KVM 1.0.3)

   翻译:Ding
 
 E-mail:wu_yi_ding@yahoo.com
 
   本文是j2me_cldc-1_0_3附带的KVM Porting Guide的翻译,对移植KVM到特定

的平台上很有参考价值。原书有100多页,我尽量把它译完,但时间有限,能否完

成我也无法确保。希望对有志于port KVM的朋友有所帮助。如果有什么错漏之处,

或是您觉得不妥的地方,欢迎您email我,讨论商榷。

如您要转贴,请保留原出处,并勿做删改。谢谢。    


1。KVM简介

   KVM(K Virtual Machine 或称 KJava Virtual Machine)是一种小巧,易于

移植的JVM,被专门设计用来支持小型的,资讯有限的设备,例如手机,PDA等。

   KVM团队的最高设计目标是开发一个最小的且“完整"的JVM,它必须能提供对

核心Java语言的支持并能运行在资源有限的设备上(例如只有几十到几百Kb)。

更规范的说, KVM的设计要点有:

   ·小型,VM的核心只占据大约60Kb的静态内存空间。(根据不同的平台或编译
   
    选项有所不同)

   ·轻巧易于移植。

   ·模块化,易于定制。

   ·尽量做到既“完整”又“快速”。

   KVM是用C语言实现的,因此可以方便的移植到许多平台上,只要你能找到该平

台的C compiler。KVM是J2ME的一部分,KVM通常被作为CLDC和MIDP构架的底层实现。

KVM是由sun实验室最初的Spotless系统发展而来。(注:sun最初提出KJava是用来

开发palm os的,那时Palm上的Kjava程序称为Spotlet,类似于今天的MIDlet。)


2。KVM1.0.2与KVM1.0.3的区别

主要包括:
   
   ·性能优化-重新设计了显示/同步操作(monitor/synchronization),优化了
   
    JavaCodeCompact工具的代码产生方式。优化了字符串操作(string)。

   ·增强了事件(even)处理系统,异步输入输出模式(asynchronousI/O)以及
   
    networking库(用来使CLDC和MIDP联系的更加紧密)。

   ·增强了Java级的debug接口,预检验器(preverifier)和紧缩的垃圾收集器
   
   (garbage collector)。

   ·更有效的JAM(Java Application Manager)。

   ·Windows/Unix版的KVM可以在命令行中调整堆(heap)的大小。


3。对编译器的要求

   你的C compiler 必须兼容ANSI-C(这好像不算什么要求^-^)你的compiler必

须定义基本数据类型如下:

表1-基本数据类型
------------------------------
Type                Description
------------------------------
char                8-bit

signed char         8-bit

unsigned char       8-bit

short               signed ,16-bit

unsigned short      unsigned 16-bit

int                 signed,16 or 32 bits.

unsigned int        16 or 32 bits.

long                signed, 32-bit

unsigned long       32-bit(注:注意在Java语言里long为64bit)

void *              32-bit pointer
------------------------------

   如果你的J2ME configuration或profile支持浮点数,那你的编译器还必须支持

浮点类型如下:

----------------------
Type      Description
----------------------
float     32-bit floating point value

double    64-bit floating point value
----------------------

   我们的参考实现(referenceimplementation)只在指针长度为32bit的机器上做

了测试,我们并不能保证在具有长指针(far pointer)或其他类型的指针的平台上

运行。

下列compiler已被证实可以成功编译KVM:

■Sun C Compiler 5.0, 5.2 and 5.3 on Solaris,

■GNU C 2.91.66 (egcs-1.1.2) compiler on Red Hat Linux,

■GNU C 2.95.2 compiler on Solaris and Windows NT 4.0,

■Microsoft Visual C++ 6.0 Professional on Windows NT 4.0 and Windows2000


----------待续------------

文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。