如何退出java程序

如何退出java程序,第1张

退出java程序的方法如下:

1、 使用System.exit(0)

jdk文档:System.exit(int status)是中止当前虚拟机的运行,也就是强制性的推出程序

那个参数是状态码,0表示正常退出程序,其他值表示异常退出。

return 是函数中返回某个变量的关键字,只能退出方法。

2、关闭java程序加载方式

在游览器中,选择“工具”-“internet",选择“安全”选项卡,单击自定义级别按钮,d出安全设置对话框,在脚本选项中对java小程序脚本选项点选禁用。

如果想要关闭的更多,可以将IE游览器activex功能,java功能和脚本功能全部关闭,将非IE类游览器java和javascript功能关闭,这样的话安全系数更高...

3、点击默认关闭方式

关闭旧的  frame.setVisible(false)

迁移至新画面 new frame.setVisiable(true)

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE)默认点击关闭;

dispose()用来挂起;

解决这个问题,要看这个进程是java程序自定义的进程,还是 *** 作系统的进程, *** 作系统的进程,又可以分为windows进程和Linux进程

一、针对 *** 作系统的进程:

1,首先java用户,要具有 *** 作进程的权限

2. 针对windows *** 作系统的进程,比如QQ进程:

String command = "taskkill /f /im QQ.exe"  

Runtime.getRuntime().exec(command)

其中:taskkill 是命令名称,/f /im 是参数,QQ.exe是进程的可执行文件。

3.针对Linux *** 作系统

String command = "kill /f /im QQ.exe"  

Runtime.getRuntime().exec(command)

二、在Java程序中自定义的进程

思路:在线程中设置一个标志变量,当这个变量的值在外界被改变的时候,有机会结束运行的线程

public class T {

public static void main(String[] args) {

// 启动线程

MyThread thread = new MyThread()

new Thread(thread).start()

// 你的其它的工作,此时线程在运行中

// 你不想让线程干活了,停掉它

// 注意,这只是一个标志,具体线程何时停,并不能精确控制

thread.allDone = true

}

class MyThread implements Runnable {

boolean volatile allDone = false

public void run() {

   // 每次循环都检测标志

   // 如果设置停止标志时已经在循环里

   // 则最长需要等待一个循环的时间才能终止

   while (!allDone) {

   // 循环里的工作

   }

}

}

在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,

12345678

public static void main(String[] args) {System.out.println("开始进入程序...") //do somethingSystem.out.println("程序准备退出了!") System.exit(0) //下面这句话将不会打印出来System.out.println("程序已经退出了!")}

但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。

1234567891011121314151617181920212223

public static void main(String[] args) {System.out.println("开始进入程序...") //do somethingnew Thread(){public void run() {while (true) {System.out.println("我是另外的线程...") try {Thread.sleep(2000) } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace() }}}}.start()//获取man线程Thread main = Thread.currentThread() System.out.println(main.getName()) main.interrupt() System.out.println("main线程已经退出了,但是不影响其他线程运行!") }

只有在程序非正常退出时,才使用exit方法退出程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11426503.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存