我详细说一下吧
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();
这个语句终止刚才创建的子进程。
⑵ java停止执行程序
如果在一个循环里,想退出这个循环请用break;
如果在一个method中,想不执行下面的代码版直接退出权这个method请用return;
如果你想要程序直接中断退出,不执行后面的任何代码,请用System.exit(0);
⑶ java运行时死循环了怎么用命令符把它停止掉
java运行出现死循环时,在dos命令行界面下,可以直接使用ctrl+c的组合键来停止程序,ctrl+c组合键在dos命令行界面中可以不用等待程序正常运行结束,直接终止程序;还可以直接点击dos命令行界面窗口的关闭按钮来结束程序。在开发工具eclipse或者Myeclipse中,可以直接点击运行控制台中的红色按钮来结束程序。
⑷ 如何退出java程序
退出java程序的方法如下:
1、 使用System.exit(0);
jdk文档:System.exit(int status)是中止当前虚拟机的运行,也就是强制性的推出程序。
那个参数是状态码,0表示正常退出程序,其他值表示异常退出。
return 是函数中返回某个变量的关键字,只能退出方法。
2、关闭java程序加载方式
在游览器中,选择“工具”-“internet",选择“安全”选项卡,单击自定义级别按钮,弹出安全设置对话框,在脚本选项中对java小程序脚本选项点选禁用。
如果想要关闭的更多,可以将IE游览器activex功能,java功能和脚本功能全部关闭,将非IE类游览器java和javascript功能关闭,这样的话安全系数更高...
3、点击默认关闭方式
关闭旧的frame.setVisible(false);
迁移至新画面newframe.setVisiable(true);
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);默认点击关闭;
dispose()用来挂起;
⑸ java停止运行怎么解决
在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,publicstaticvoidmain(String[]args){System.out.println("开始进入程序");//dosomethingSystem.out.println("程序准备退出了!");System.exit(0);//下面这句话将
⑹ java怎么强行终止程序
在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()来中断退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。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程序通过命令停止
tasklist命令找到该程序的进程,taskkill杀掉该进程。
tomcat的启动、结束bat都是调用.apache.catalina.startup.Bootstrap这个类实现的,startup.bat最终会执行Bootstrap.java里的
publicvoidstart()throwsException{
if(catalinaDaemon==null)init();
Methodmethod=catalinaDaemon.getClass().getMethod("start",(Class[])null);
method.invoke(catalinaDaemon,(Object[])null);
}
shutdown.bat最终会执行Bootstrap里的
publicvoidstopServer()throwsException{
Methodmethod=catalinaDaemon.getClass().getMethod("stopServer",(Class[])null);
method.invoke(catalinaDaemon,(Object[])null);
}
你也可以这样写一个类来控制程序的启动、终止,bat就调用对应的方法。