2024-06-12 00:24:20 | 我爱编程网
在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,
12345678
public static void main(String[] args) { System.out.println("开始进入程序..."); //do something System.out.println("程序准备退出了!"); System.exit(0); //下面这句话将不会打印出来 System.out.println("程序已经退出了!");}
但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于
多线程
程序,必须要关闭各个非守护线程。
1234567891011121314151617181920212223
public static void main(String[] args) { System.out.println("开始进入程序..."); //do something new Thread(){ public void run() { while (true) { System.out.println("我是另外的线程..."); try { Thread.sleep(2000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } }.start(); //获取man线程 Thread main = Thread.currentThread(); System.out.println(main.getName()); main.interrupt(); System.out.println("main线程已经退出了,但是不影响其他线程运行!"); }
只有在程序非正常退出时,才使用exit方法退出程序。
分类: 电脑/网络 >> 软件
问题描述:
请问在java在如何关闭java自己启动的程序呢?
解析:
我详细说一下吧
java程序启动之后,JVM(java虚拟机)会实例化一个Runtime类,这是一个运行时类实例,包含这个java程序运行的所有信息,一个程序会实例化一个Runtime类且只能实例化一个Runtime类。我们可以通过这个Runtime类实例操作程序的运行。它的exit(int status)方法会终止程序的运行。例:
Runtime.getRuntime().exit(0);
其中参数status表示状态,0表示正常退出,非0表示异常退出。非0参数有什么用呢?
addShutdownHook(Thread hook)方法可以将一个Thread可程序的关闭hook(挂/联系)起来,程序退出前,会执行这个方法,这样我们可以根据退出状态作相应的善后操作。
另外,System.exit(int status)也是调用这个Runtime类实例的退出方法来间接实现程序的退出的。
再加一点,Runtime类可以创建子进程,如下:
Process p=Runtime.getRuntime().exec("notepad");
这个语句将会创建一个记事本程序(它是Runtime类创建的子进程)
p.destroy();
这个语句终止刚才创建的子进程。
我爱编程网(https://www.52biancheng.com)小编还为大家带来求助:java,怎样代码实现结束正在运行的程序?的相关内容。
1.
public class TestShutDownHook {
2.
public TestShutDownHook() {
3.
doShutDownWork();
4.
}
5.
private void doShutDownWork() {
6.
Runtime run=Runtime.getRuntime();//当前 Java 应用程序相关的运行时对象。
7.
run.addShutdownHook(new Thread(){ //注册新的虚拟机来关闭钩子
8.
@Override
9.
public void run() {
10.
//程序结束时进行的操作
11.
System.out.println("程序结束调用");
12.
}
13.
});
14.我爱编程网
}
15.
public static void main(String[] args) {
16.
new TestShutDownHook();
17.
for (int i = 0; i < 1000; i++) { // 在这里增添您需要处理代码 }
18.
System.out.println(i);
19.
}
20.
}
21.
}
java中的exit方法java中exit表示的关闭JVM程序,但是不释放内存,举例:System.exit(0);//表示正常程序的关闭,执行的是以下操作:publicstaticvoidexit(intstatus){Runtime.getRuntime().exit(status);}备注:如果是0表示正常关闭,如果是非0表示异常关闭,如果想释放内存的话,用“di
如何终止Python死循环线程import timeimport threadLOCK = Truedef timer(no, interval): while LOCK: print 'y'def test(): thread.start_new_thread(timer, (1, 1)) time.sleep(5) global LOCK LO
windows下运行jar包报java已停止运行题主是否想询问“windows下运行jar包报java已停止运行怎么办”?1、首先确保已经安装了最新版本的Java,可以从官方网站上下载最新的Java运行时环境和开发工具包进行安装。2、其次确保下载的JAR包没有损坏和缺失,可以重新下载JAR包并再次运行。3、最后保正确设置了命令行参数,检查命令行参数是否正确,并根据JAR包所需的参
应用程序被java安全阻止怎么办方法/步骤1完成JAVA版本更新,然后刷新有问题的网页页面zd,以排除JAVA版本问题引起JAVA安全阻止;2从开始菜单中打开控制面板,我们需要进入控制面板来修改相应的配置;3进入控制面板后,在控制面板中回找到JAVA选项,如果找不到可将查看方式切换到大图标或图标即可;4在JAVA控制面板中打开安全选项,并找到例外站点列表;
java停止执行程序如果在一个循环里,想退出这个循环请用break;如果在一个method中,想不执行下面的代码直接退出这个method请用return;如果你想要程序直接中断退出,不执行后面的任何代码,请用System.exit(0);java中终止程序的执行方案操作如下:(1)让程序在一个单独的线程中运行,然后在终止时,可以用线程的终止方法来结束它。(2)
eclipse怎么运行java程序1、打开java程序,点击上方工具栏里,绿色圆圈中部有向右的白色三角的按钮(鼠标悬停在上面提示"Run")2、左侧程序列表中选中要运行的java程序,右键选择RunAs,子目录选择JavaApplication3、打开java程序,快捷键Alt+Shift+X,右下角出现黄色列表框,点击Jeclipse怎么运行?需要什么Java环境?1.在官
怎样禁用电脑上的Java小程序?1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:3、在“安全设置-Internet区域”界面找到“Java小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:ja
Java程序在eclipse中怎么运行?中文版:1、打开“运行”菜单,点击“运行(N)...”按钮,进入运行配置界面。2、在左侧选择要运行的程序,然后点击右侧“(x)=自变量”标签,在下面的“程序自变量(A):”文本框中输入程序运行需要的参数。3、点击下面的“运行(R)”按钮运行程序。英文版:1、打开“Run”菜单,点击“Run...”按钮,进入运行配置界面。
2025-02-01 20:24:39
2025-02-12 03:21:37
2025-02-10 15:19:48
2025-01-28 17:58:32
2024-11-22 05:08:01
2024-09-10 08:50:00