我们的CDC JRE需要支持三种形式的应用:
1. 单机应用程序(standalone Application):这种应用也是最基本的java应用了,这类应用一定有一个主类,在主类中一定一个有个main方法,在main方法中会引用到其它的类对象,这样,引擎起来之后就根据主类的名字,加载主类的.class文件,通过main方法来加载其它的类,创建其它类的对象,以及执行相应类的方法。这样应用直接与JVM交互,管理自己的生命周期和所需资源,当主类的main方法结束,这个Application也就终止。
2.Java小程序(Applet):它是嵌入在Browser中的以实现动态网页,当Browser从HTTP包流中接受数据的时候,发现有Applet classes时就会将其丢给JVM,Browser通过与JVM交换来控制Applet的生命周期和对系统资源的访问,JVM去load应用的主Applet的.class文件,这个类是从java.applet.Applet派生的,其中相应的也就包含了响应事件以控制其生命周期的方法如:initialization, starting, stoping, destory.
3.特定设备上的应用程序(Xlet):也是一种需要通过网络协议动态加载的Application,有点像Applet,但又有很大的不同,Xlet通过Java引擎内部的Xlet manager程序来管理,一个Xlet manager可以同时管理多个Xlets, 每个Xlet之间可以通过RMI( Remote Method Invocation)机制进行相互通讯。