kvm文档翻译-第二章

说明

翻译KVM的文档,只是为了个人学习以做记录.如果有翻译不周到的地方,请指出,我会修正的.

为何翻译该文档

此KVM不是目前特别火的Kernel-based Virtual Machine(一个开源的系统虚拟化模块).而是一个JAVA 的虚拟机.是J2ME cldc 的一个实现.其源码的难度比hotspot简单多了.因此,想通过研读KVM,以加深对hotspot的理解

KVM简介

KVM

KVM(也称为K虚拟机或KJAVA虚拟机)是一种紧凑、可移植的Java虚拟机,它被专门设计用于小型、资源受限的设备,如蜂窝电话、寻呼机、私人记事本、移动互联网设备、销售点终端、家用电器等

KVM团队的高级设计目标是创建一个尽可能小的“完整”Java虚拟机,它将保持Java编程语言的所有中心方面,但它仍然运行在资源受限的设备中,只有几十或几百千兆字节的可用内存(因此命名为K)。更具体地说,kvm设计为

  • 很小,虚拟机核心的静态内存占用从大约50-70千字节开始(取决于目标平台和编译选项)
  • 干净且便携
  • 模块化和可定制
  • 尽可能“完整”和“快速”,而不牺牲其他设计目标。

KVM是用C编程语言实现的,因此它可以很容易地移植到各种平台上,在这些平台上可以使用ANSIC编译器。虚拟机是围绕一个简单的字节码解释器构建的,它具有各种编译时标志和选项,有助于移植工作和空间优化

KVM的开发是旨在提供模块化、可扩展的体系结构,用于开发和部署用户和嵌入式设备中的便携式、动态可下载和安全应用程序。这种更大的努力被称为Java 2 Micro Edio(也称为Java 2 ME或J2ME)

K虚拟机通常被用作以下J2ME技术标准的实现级基础:连接的、受限的设备配置(CLDC)和移动信息设备配置文件(MIDP)。KVM、CLDC、MIDP和Java 2微版本的进一步信息一般可在第1.2部分“相关文档”中列出的单独文件中获得。

KVM源于1998年初在太阳微系统实验室开发的一个名为“Spotless”的研究系统。关于Spotless系统的更多信息可在Sun实验室技术报告中获得:The Spotless system: implementing a Java system for the Palm connected organizer.

2.2 Differences between KVM 1.1 and KVM 1.0.3/4

KVM 1.1 和 KVM 1.0.3/4 之间的区别

kvm 1.1是第一个支持cldc规范版本1.1的kvm实现。此版本实现了CLDC1.1中添加的所有新功能,包括:

  • 浮点数的支持

    • 在cldc 1.1 中所支持的 浮点数的字节码
    • Float 和 Double 已添加.
    • 已将各种方法添加到其他库类以处理浮点值
  • 弱引用的支持(J2SE中弱引用的一个子集)

  • Calendar, Date and TimeZone 类 重新设计为更符合J2SE。

  • 已明确错误处理要求,并添加了一个新的错误类–>NoClassDefoundError。

  • 在CLDC1.1中,线程对象具有名称,就像J2SE中的线程一样。方法thread.getname()已经被引入,thread类有一些从J2SE继承的新构造函数

  • 各种小的库更改和错误修复,例如添加以下字段和方法:

    • Boolean.TRUE and Boolean.FALSE
    • Date.toString()
    • Random.nextInt(int n)
    • String.intern()
    • String.equalsIgnoreCase()
    • Thread.interrupt()
  • CLDC的最小总内存预算已从160千字节提高到192千字节,主要是因为增加了浮点功能。

  • 规范文本进行修正,删除了过时的小节。

  • 更详细的验证程序规范(“CLDC字节代码类型检查程序规范”)作为CLDC规范版本1.1的附录提供。

有关CLDC 1.0和1.1之间差异的更详细摘要,请参阅CLDC规范版本1.1。

kvm 1.1版本包含了先前kvm1.0.4版本的所有功能和修复。除了特定于CLDC规范1.1版的新功能外,与KVM 1.0.3相比,KVM 1.1的主要功能包括:

  • 支持KNI.
  • 重写类加载器,该类加载器以符合J2SE的方式支持错误处理
  • 更易于移植到其他虚拟机的可移植运行时验证程序
  • 各种小错误修复和增强

更多内容,可以到KVM 的网站(http://java.sun.com/products/kvm,该链接已失效)去查看

与早期的kvm/cldc版本不同,kvm 1.1实现不再包括网络协议实现、图形用户界面代码或超出cldc规范范围的其他组件。网络代码和用户界面组件在其他J2ME软件版本(如MIDP参考实现)中提供。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值