网友:有没有一段代码,看起来简单,实则威力无穷,程序员:有啊

话不多说,直接上图

代码:System.exit(0);

这句代码,很简单,但是也非常暴力。就是结束整个程序。

1、下面先演示下不加上这个语句:

然后控制台输出两个println;

2、现在加这句代码放在中间

然后执行的效果就是:

3、现在把语句放在开头:

小编相信这里有很多学习java的朋友,小编整理了一份java方面的学习资料,想要获取的可以加我的java学习Q群的哟,92820,4055。欢迎爱学习Java的你们。

执行:

然后什么都没有了。显示为空。

下面来看一下,exit这个静态方法:

看了这段代码,你就会发现,这个是有一个静态参数的,如果是非0表示非正常退出,如果是0表示是正常退出。

下面来总结一下,这个方法:

1、System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose只是关闭这个窗口,但是并没有停止整个application exit。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西

2、System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序

3、System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层

示例

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,620评论 19 139
  • 总结筹备了一个月的区块链峰会遇到的坑,算是一次复盘和记录。 1.这次最大的坑是没有充分考虑政策因素。原本定在北京举...
    闻舒阅读 1,222评论 0 0
  • 每年食品企业都会有很多新品上市,但是据相关统计新品上市的成功率还不到10%,那么如何不做失败的大多数,如何让企业投...
    一小时在阅读 1,527评论 0 0
  • 上班间隙无意瞥到一篇新闻“广西的油菜花已经开了”,恍惚中才发现。春天不远了。 时间转眼即逝。看雪这个愿望还没有实现...
    You加阅读 1,332评论 2 1
  • 曾经,似乎每个村子里都有这样一两个人物:不务正业,得过且过,成天无所事事东家串西家,干些偷鸡摸狗兼拈花惹草的事……...
    金指尖的花园阅读 4,245评论 0 1