首页 > 代码库 > java 和javaw 的区别——<转>

java 和javaw 的区别——<转>

java 和javaw 的区别

javaw.exe用法和java.exe 相同

javaw的程序不在java console 上面显示任何东西,如果在开发程序,就用java,这样可以看到错误提示, 如果是运行完成了的程序,就用javaw, 可以提高一点速度
两个应用程序都能运行你的程序,并非常相似,但是有一个重要的区别,java通过控制台运行,javaw则不是。
控制台几乎是为纯文本编成的,例如如果你用javaw运行所有你打印的状态不会被打印出来。你打印在程序中的有用
信息,错误信息也是一样。
所以,如果你在选择用哪个:
如果是基于纯文本的编成用java。
如果是图形化但随时打印成纯文本用java。
如果你在检查错误,用java。
如果程序是纯粹的图形化的,而且你需要提升速度,用javaw。 
java会在黑窗口下进行,而javaw不会,所以例如jb这样的开发工具都是默认采用javaw来进行run这些java的
class的。
但是有一点需要提出的是:
javaw会使用与java不同的Local配置进行工作,导致了一些中文问题,而java就是好好的。JBuilder也是好好的,没有问题,调用javaw也不是它的错,难道你想每次运行或者调试的时候蹦出个DOS黑框么?
可以采用如下办法解决jb中的javaw造成的中文问题。

在JBuilder中选择Project->Project Properties->run->edit->VM
Parameters,填上-Dfile.encoding=GBK -Ddefault.client.encoding=GBK
-Duser.language=zh -Duser.region=CN 就行了!

原理也就是在javaw加上如上的配置参数。
1、java.exe: 
运行java程序
2、javac.exe:
编译的,生成.class文件
3、javaw.exe:
跟java命令相对的,运行java命令时,会出现并保持一个console窗口,
程序中的信息可以通过System.out在console内输出,而运行javaw,
开始时会出现console,当主程序调用之后,console就会消失;
javaw 大多用来运行GUI程序

原文链接:http://blog.sina.com.cn/s/blog_65e635ee0100l5vg.html