简单介绍下java虚拟机如何工作的(15年前的手机并没有jvm虚拟机)(1)

2000年代初期,随着移动通信技术的发展,手机逐渐普及。那个时代的手机功能相对比较单一,主要用于打电话和发送短信。但是,随着技术的进步,人们开始在手机上玩游戏,而其中最受欢迎的游戏就是Java游戏。在那个时候,塞班手机是市场上最受欢迎的手机之一。但是,有一个问题困扰着很多人,那就是塞班手机没有jvm虚拟机,为什么还能运行Java游戏呢?

简单介绍下java虚拟机如何工作的(15年前的手机并没有jvm虚拟机)(2)

首先,我们需要了解什么是Java游戏和jvm虚拟机。Java游戏是一种在Java平台上开发的手机游戏,它们通常由Java代码编写而成。而jvm虚拟机是Java语言的核心组成部分,它可以运行Java字节码,并且为Java程序提供了跨平台的支持。

然而,当时的塞班手机并没有内置jvm虚拟机。那么,为什么这些手机还能运行Java游戏呢?

事实上,塞班手机并没有完全放弃Java技术。相反,它采用了一种叫做Java ME的技术。Java ME是Java平台的一种轻量级版本,专门用于嵌入式设备,例如手机和其他便携设备。与标准版Java相比,Java ME提供了更小、更灵活、更易于移植的虚拟机和类库,这使得它成为移动设备上的理想选择。

简单介绍下java虚拟机如何工作的(15年前的手机并没有jvm虚拟机)(3)

Java ME虚拟机比标准版的jvm虚拟机要小得多。这是因为Java ME专门为移动设备设计,因此它需要占用更少的内存和处理器资源。Java ME虚拟机还具有更快的启动时间和更快的执行速度。这些特性使得Java ME成为塞班手机上运行Java游戏的理想选择。

但是,即使有Java ME虚拟机,仍然需要一些额外的技术来使Java游戏在塞班手机上运行。其中一个重要的技术是MIDP(Mobile Information Device Profile)。MIDP是Java ME的一个子集,它为移动设备提供了一组API(应用程序接口),用于开发Java应用程序和游戏。MIDP还提供了一些与移动设备相关的类库和工具,例如界面设计、网络连接和多媒体处理。

简单介绍下java虚拟机如何工作的(15年前的手机并没有jvm虚拟机)(4)

在塞班手机上运行Java游戏还需要另一个技术,那就是CLDC(Connected Limited Device Configuration)。CLDC是Java ME的另一个子集,它是专门为资源受限设备设计的,例如移动电话和嵌入式设备。CLDC包括一组最小的Java虚拟机规范和类库,可以在资源受限的设备上运行。

为了在塞班手机上运行Java游戏,开发人员需要使用Java ME、MIDP和CLDC来创建游戏。他们必须编写代码,将其编译为Java字节码,然后将字节码转换为塞班手机可以理解的格式。这个格式通常是Nokia的Symbian格式,因为塞班手机是由诺基亚公司开发的。

一旦Java游戏被转换成Symbian格式,就可以将其安装到塞班手机上,并在Java ME虚拟机上运行。这意味着Java游戏在运行时并没有直接访问硬件,而是通过Java ME虚拟机来访问。Java ME虚拟机在运行时会将Java代码转换成设备可以理解的指令,然后将其发送到设备的处理器上执行。

尽管如今塞班手机已经成为历史,但Java ME技术仍然存在,并且仍然在嵌入式设备上得到广泛应用。今天,Java ME技术已经演变成了Java嵌入式平台,它仍然是移动设备、智能家居和物联网设备的首选技术之一。尽管移动设备的技术已经发生了巨大的变化,但Java技术仍然在移动设备上发挥着重要的作用,这些设备离不开Java虚拟机的支持。

关注公众号:Java编程世界

每天推送独家原创互联网技术文章和趣事(不定期送书!!!)。

简单介绍下java虚拟机如何工作的(15年前的手机并没有jvm虚拟机)(5)

,