支持java的手机一定实现了java虚拟机么?

来源:百度知道 编辑:UC知道 时间:2024/05/13 12:02:22
一些不带操作系统的低端手机,比如nokia3120也支持java。那么它也实现了kvm么?还是通过别的方式运行java程序?或是用别的虚拟机?

什么是Java
人们已经习惯用Java这个术语来涵盖各种Java技术。Java技术包括Java编程语言、支持类库以及Java虚拟机(Java Virtual Machine,JVM)。
Java技术利用Java模型实现了Java程序的运行。典型的Java模型将利用若干层(也叫底层,substrate)。Java程序被一个叫做Java虚拟机的底层从硬件中隔离出来。图1.1显示了一个Java模型。

图1.1 Java模型
Java盛行的原因很多。首先,Java是一门多平台语言。Java多平台功能的关键元素是peer方法,如图1.1所示。peer方法提供了一个应用程序接口(Application Program Interface,API)。
该接口的目标就是提供一个从高级Java应用程序接口到初级操作系统子程序的映射。peer方法提供了一种实现可移植操作系统接口的方法。
操作系统软件接口库提供了一个ANSI C、C++或FORTRAN都没有的编程环境。这种环境为程序提供外观和运行方式。例如,C++程序员在Windows下编程,编程环境就像是一个Windows编程环境。也就是说,可能会调用Microsoft基础类。如果在UNIX下编程,编程环境就像一个UNIX环境,即要调用X-Window库子程序。
Java的独特之处是它能够提供一个可移植的操作系统软件接口。例如,不管使用哪种操作系统,用Java编写一个显示对话框的程序都是相同的。但是,Java的可移植功能也会受到库的跨平台支持的限制。在这种情况下,使用非可移植库的Java程序将不再是可移植的了。例如,有人在Java内创建了到C库子程序的链接。由于要使Java成为可移植的,其他平台上必须提供这些子程序。
把Java臆想成一门“编译一次,走遍天下”式的语言是错误的。Java在每个平台上都需要测试,有时还需要调试。因为在一个平台上运行良好的程序在另一个平台上却不能运行,这种情况很常见。
此外,Java以外的语言也可以利用Java技术。例如,要实现一个非Java编译器来创建可在Java虚拟机(JVM)上运行的Java字节码是有可能的。
1.3 Java模型与HTML模型的比较