1、12345 678nGreen Project(SUN公司1991年) James GoslingOAK910Java2的版本nJ2EE J2SE J2ME服务器笔记本PC工作站机顶盒可视电话PDA智能手机1112J2ME的体系结构的体系结构nJ2ME应用程序的体系结构应用程序的体系结构n操作系统操作系统nJava虚拟机虚拟机nCLDC/CDCnMIDPn可选包可选包n应用程序。应用程序。自己开发的程序操作系统CVMKVMCDCCLDC可选包MIDP13J2ME的体系结构框图的体系结构框图14J2ME的体系结构框图的体系结构框图定义:在真实机器中用软件模拟实现的一种想象的机器。J2me:将将J
2、ava的精髓压缩进一个非常小的程序包中的精髓压缩进一个非常小的程序包中 Java源程序编译字节码文件Java虚拟机执行LinuxWindowsSymbian15KVM虚拟机虚拟机 nKVM的名字的名字kilo反映了这些设备的存储量是以反映了这些设备的存储量是以千比特千比特倍数来度倍数来度量的。量的。KVM虚拟机适用于拥有虚拟机适用于拥有16/32比特的比特的RISC/CISC微处理器微处理器或控制器,总的存储器只有或控制器,总的存储器只有160K左右,其中左右,其中128k用来存放虚拟用来存放虚拟机和各种库的设备。机和各种库的设备。 nKVM不支持以下的功能:不支持以下的功能: n不支持浮点数
3、;不支持浮点数;n不支持线程组(不支持线程组(Thread Groups)和守护线程和守护线程(Daemon Threads););n不支持映射(不支持映射(Reflection);); n有限的错误处理机制。有限的错误处理机制。 16J2ME的体系结构框图的体系结构框图17J2ME体系结构KVM:Java虚拟机(又称kilo Virtual Machine)是所有J2ME程序运行自己开发的程序操作系统CVMKVMCDCCLDC可选包MIDP1819生命周期的三个状态生命周期的三个状态n活动状态。当一个活动状态。当一个MIDlet进入活动状态时,它将获得进入活动状态时,它将获得用于执行任务的所
4、有资源。转移到活动状态之后,所用于执行任务的所有资源。转移到活动状态之后,所需的线程应该被启动。需的线程应该被启动。 startApp()方法n暂停状态。当一个暂停状态。当一个MIDlet进入暂停状态时,它应该释进入暂停状态时,它应该释放所有持有的资源并停止活动的线程。如果有需要,放所有持有的资源并停止活动的线程。如果有需要,则应该把数据保存到持久性存储器中,这样在程序重则应该把数据保存到持久性存储器中,这样在程序重新进入活动状态的时候可以重用。新进入活动状态的时候可以重用。 pauseApp()方法n销毁状态。当一个销毁状态。当一个MIDlet进入销毁状态时,它应该释进入销毁状态时,它应该释放所有资源、停止正在执行的线程并保存持久性的数放所有资源、停止正在执行的线程并保存持久性的数据。据。 destroyApp()方法202122