A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 杨修 中级黑马   /  2013-5-12 09:06  /  2777 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘胜寒 于 2013-5-18 03:13 编辑

求助:System.exit(0);和System.exit(1)有什么区别?

点评

我在等等。。看看高手解答。  发表于 2013-5-12 10:27

评分

参与人数 1技术分 +1 收起 理由
殇_心。 + 1

查看全部评分

6 个回复

倒序浏览
1.System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
2.System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序

评分

参与人数 1技术分 +1 收起 理由
刘胜寒 + 1

查看全部评分

回复 使用道具 举报
.exit(0),一般来说是没异常退出程序,而.exit(数字)一般表示有异常而退出程序
回复 使用道具 举报
          好问题!
回复 使用道具 举报
本帖最后由 java冬冬 于 2013-5-12 10:45 编辑

  • System.exit(0)是将你的整个这个虚拟机里的内容都停掉了
  • System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
  • System.exit( )不管放什么都会退出程序。和return 相比有以下不同点:   return => 回到上一层...,System.exit() => 回到最上层...


比如说:在一个if-else判断中,如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0),而System.exit(1)一般放在catch块中,当捕获到异常,需要停止程序,我们使用System.exit(1)。这个status=1是用来表示这个程序是非正常退出{:soso_e152:}

评分

参与人数 1技术分 +1 收起 理由
Sword + 1

查看全部评分

回复 使用道具 举报
杨修.....好大气的名字
回复 使用道具 举报
Sword 金牌黑马 2013-5-13 11:09:32
7#
如果问题未解决,请继续追问,如果问题解决了,请点击你的帖子下面的"编辑"重新编辑帖子,将分类改为“已解决”,谢谢合作!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马