java、javaw和javaws的区别:
首先,这些都是java的启动装置,java.exe是常用的。 使用命令行打印到window时,有一个java.exe进程,可以通过任务管理器查看。 通常,运行几个小java程序会运行java.exe进程。 javaw.exe对我们来说也很特别,从任务管理器中也可以看到javaw.exe进程的运行。 javaws通常在web打开时的过程。
jvm.dll
jvm.dll是java虚拟机在windows平台环境中的实现,是JRE的一部分,可以使用jvm.dll直接在jvm中运行c程序。
java.exe
java.exe是一个win32控制台APP,作为win32控制台APP非常有用,而不是使用jvm.dll执行Java类文件。 很明显,他与控制台相关联,在java classes运行时运行。
javaw.exe
javaw.exe是一个win32 GUI APP应用程序,与java.exe类似,APP应用程序提供自己的GUI窗口,不启用控制台。
因此,我想运行不需要命令控制台的GUI程序。
以下是一个例子。
打包javaw; import javax.swing.*; publicclasshelloworldswing { privatestaticvoidcreateandshowgui (} { jframe jframe=new jframe (hello world swing ' ) ); jframe.setdefaultcloseoperation (jframe.exit _ on _ close ); jabelhellolabel=new jlabel (' hello world! ' ); jFrame.getContentPane ().add ) Hellolabel; jFrame.pack (; jframe.setvisible(true; } publicstaticvoidmain (string [ ] args ) javax.swing.swing utilities.invoke la ter (new runnable ) ) { public void run (); }
上面是GUI程序,在控制台中工作如下。
Java-class path.javaw.hello world swing
说明:其中-classpath .表示将classpath的路径设置为当前目录。
运行后,如果查看任务管理器,则java.exe进程------这是从控制台运行的。
图如下。
直接在eclipse中运行:运行后,将在任务管理器中显示javaw.exe进程。 因为它没有在控制台输出上运行。
图如下。
在javaw中从命令行执行时也如上图所示。
注: javaw-class path.javaw.hello world swing启动的过程是javaw.exe
Java-class path.javaw.hello world swing启动的过程是java.exe
java.exe和javaw.exe这两种运行方式的区别在于,从另一种java运行GUI开始,一直堵在那里直到窗口关闭。
当javaw运行GUI时,可以立即运行以下命令:
javaws.exe
javaws.exe进程适用于启动在web上配置的程序,简单来说,它适用于web APP应用程序。
总结:
java.exe用于启动窗口控制台程序
javaw.exe用于启动GUI程序
javaws.exe用于web程序。
jvm.dll是在windows平台上实现java虚拟机规范
注:原文地址: http://Java papers.com/core-Java/Java-vs-javaw-vs-javaws /