System.exit(0)和System.exit(1)区别
2016-04-27 16:07
190 查看
查看java.lang.System的源代码,我们可以找到System.exit(status)这个方法的说明,代码如下:
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层
举例说明:
在一个if-else判断中,如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0),
而 System.exit(1)一般放在catch块中,当捕获到异常,需要停止程序,我们使用System.exit(1)。这个status=1是用来 表示这个程序是非正常退出。
public static void exit(int status) { Runtime.getRuntime().exit(status); }
System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层
举例说明:
在一个if-else判断中,如果我们程序是按照我们预想的执行,到最后我们需要停止程序,那么我们使用System.exit(0),
而 System.exit(1)一般放在catch块中,当捕获到异常,需要停止程序,我们使用System.exit(1)。这个status=1是用来 表示这个程序是非正常退出。
相关文章推荐
- windows 7系统搭建本地SVN服务器的过程
- 【Leetcode】:344. Reverse String 问题 in JAVA
- poj 2187(凸包+旋转卡壳)
- 13-Mac操作系统的安装(一般不推荐使用)但是是最方便的
- WebDriver总结-不同浏览器的启动方式
- offsetLeft和clientLeft的区别
- 移动端web开发filter:blur()样式进行模糊处理使用心得
- 常用PHP运行环境一键安装包
- Bootstrap响应式网格
- Mysql分页查询
- 巧用Docker镜像仓库Harbor部署私有Mirror服务
- 删除Mac版QQ聊天记录
- okhttp3基础使用的封装
- PHP实现四位数字+字母验证码
- phpmyadmin sql 创建外键
- UIButton中setTitleEdgeInsets和setImageEdgeInsets的使用
- 反射与dynamic
- [HDOJ3466]Proud Merchants(贪心+01背包)
- Mac上使用Hexo+Github搭建个人博客
- oracle日期时间型timestamp相关转换