2008-03-13
解读java.lang.Runtime
public class Runtime {
private static Runtime currentRuntime = new Runtime();
public static Runtime getRuntime() {
return currentRuntime;
}
private Runtime() {}
public void exit(int status) {
throw new SecurityException(
"MIDP lifecycle does not support system exit.");
}
public native long freeMemory();
public native long totalMemory();
public native void gc();
}
Runtime是一个基本类。从中可以看到:
- Runtime使用的是最简单的单实例模式。
- 提供了计算内存的大小和gc的方法。
- 注意:exit只是抛出SecurityException,并没有杀死进程。
这说明,MIDP中是没有进程的概念的。Midlet相当于容器里的一个组件。每个MIDlet的启动和关闭并不是意外着进程的结束。这跟PC电脑上的概念非常的不同。
在手机中,存储区域分为ROM和RAM。每个Java的程序是放在ROM中的,运行的时候是放在RAM中的。不同于PC,没有磁盘的概念。启动程序是从ROM调到RAM中。
启动一个Java程序时候,首先打开JVM,将ROM中的Java程序调到JVM中,JVM找到Midlet的startApp来开始执行。当退出的时候,需调用 detroyApp。
所以,当程序向自己调用exit()的时候只能得到一个安全的异常。但不一定会退出的。当要退出的时候是调用destroyApp来退出的。同时实现notifyDestroyed来通知JVM已经退出了。
发表评论
- 浏览: 63729 次
- 性别:

- 来自: 广州

- 详细资料
搜索本博客
最新评论
-
JavaEye之路
我在这,随便说点啥,博客,论坛,都说我应该是一个新手的帖子。不过我还是呆在这。反 ...
-- by saharabear -
我是穷忙族
-- by lbyzx123 -
JavaEye之路
javaeye目前的问题: 1,缺乏一个好的盈利模式,商业化运作 2,技术定位 ...
-- by kimmking -
JavaEye之路
我也很喜欢JavaEye,比CSDN好 CSDN太杂了
-- by lovefly_zero -
JavaEye之路(2)
挑战频道 -- 已经有问答频道,可以随意提问题,让大家来解决最近频道 -- Ja ...
-- by ouspec






评论排行榜