关于java的System.exit(0);方法的一点理解上的疑问

查看JDK,发现是这样解释的:publicstaticvoidexit(intstatus)终止当前正在运行的Java虚拟机。参数用作状态码;根据惯例,非0的状态码表示异... 查看JDK,发现是这样解释的:public static void exit(int status)

终止当前正在运行的 Java 虚拟机。参数用作状态码;根据惯例,非 0 的状态码表示异常终止。
JVM就这样被终止了?但是其他java程序依然可以正常运行啊,那说明JVM还在的,那为什么说终止当前运行的虚拟机?
是不是应该这样理解,每启动一个java程序就相当于启动了一个JVM?这里的JVM就理解为java应用程序,而所有的java应用程序都是运行在JRE中的,只要JRE没有被关闭,那么所有的java程序就是可以照常运行的?
请指正,非常感谢。
展开
 我来答
百度网友45e2828
2011-03-30 · TA获得超过531个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:292万
展开全部
你的理解正确
在windows平台下每运行一个java程序会出现一个javaw.exe的进程,当前运行的程序终止对应的javaw.exe进程就结束。
JRE只是运行环境,不存在关闭不关闭的问题,是有没有的问题,有JRE则可以运行java程序,没有则不行。
你可以试试将java程序打包成jar文件,对应进程管理器看看效果(前提是配置好JRE)。
sdu_viper
2011-04-01 · TA获得超过124个赞
知道小有建树答主
回答量:141
采纳率:0%
帮助的人:116万
展开全部
JVM是一个普通的程序,比如在win32下,就是一个普通的win32应用程序,每次启动一个java程序时,其实是启动了一个javaw.exe进程,即JVM,JVM解释你的java程序并执行然后产生结果
System.exit(0)其实就是给解释并运行这个java程序的JVM发一个信号,表示这个进程该结束了,JVM会把0返回给操作系统。
以上是我从书上了解的,下面的是我自己的理解:
楼主说的JRE其实就是JVM,每个JVM之间是互不影响的(当然是一般情况下),所以说一个java程序的System.exit(0)不会对其他的JVM产生影响。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qry26uz
2011-03-31 · TA获得超过380个赞
知道答主
回答量:637
采纳率:100%
帮助的人:390万
展开全部
运行。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式