s首先他俩都是退出程序的意思:
区别在于:system.exit(0):正常退出,程序正常执行结束退出
system.exit(1):是非正常退出,就是说无论程序正在执行与否,都退出,
- System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
- System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
-
System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:return是回到上一层,而System.exit(status)是回到最上层
对于只有一个单一方法的类或者系统来说是一样的,但是对于含有多个类和方法,且调用关系比较复杂时就不一样了。
System.exit(-1)是指所有程序(方法,类等)停止,系统停止运行。
return只是这一个方法停止,并不影响其他方法的顺序运行。比如:
void a(){
b();
c();
d();
}其中b()中是return.c()是System.exit(-1);那么
b()会执行,c()会执行,而d()不会被执行。