别理我 烦着呢

2008年12月25日星期四

java 运行时 javaw.exe 不能正常退出的问题

在公司测试一个java开发的东西,每次都不能正常退出.开始排错
首先,确定是我们产品的问题还是SUN的JRE的问题
很快就得到了结论,是JRE的问题,因为,运行jpicpl32.cpl也不能正常退出.jpicpl32.cpl就是Java的控制面板,在1.6版本的时候改成了javacpl.cpl 当然,如果你是一个从来只会点鼠标不会用命令行的人那是肯定不知道windows的cpl是什么东东,来,站近一点,让我鄙视一下下^_^...好,鄙视完了,继续说.
既然是JRE的问题,怎么办呢?去别人机器上试试看,发现没这个问题.说明是环境的问题.别人的环境和我的环境有什么区别呢?拿出process explorer这个金箍棒.一看,发现,javaw.exe加载的东西里面除了MS的和SUN的就只有谷歌拼音了.因为前面提到的OUTLOOK Connector的问题我设置了谷歌拼音为默认输入法.于是运行intl.cpl修改默认输入法为Chinese(PRC)-US.再次启动javaw.exe,问题消失.
做输入法不容易啊,唉.
不过公司的这个java的东西真是可怕,吃掉接近1G内存.而且更奇怪的是,从procexp看到的进程关系非常难看
javaw.exe
|__javaw.exe
|___javaw.exe
三个不同PID的进程,Working Set的Memory Consumption分别从上到下是300M 10M和110M. Virtual Size是1G 190M 570M.-_-.更神奇的是,我把启动第三个javaw.exe的命令行拷贝出来保存成一个文本文件,大小是15459Bytes.Windows 什么时候支持这么长的命令行了?
难道Java的产品都是这种风格?于是我打开IBM的Lotus Symphony开开.惊讶的发现,进程关系居然是这样的:
eclipse.exe
|___expeditorw.exe
再看看路径
D:\software\IBM\Lotus\Symphony\framework\rcp\eclipse\plugins\com.ibm.rcp.base_6.1.2.200805061024\win32\x86\eclipse.exe
D:\software\IBM\Lotus\Symphony\framework\rcp\eclipse\plugins\com.ibm.rcp.jcl.desktop.win32.x86_6.2.0.200805061024\jre\bin\expeditorw.exe
好深...

2 条评论:

  • 文件网(http://www.wenjian.cn)上说javaw.exe不是 Windows 核心文件。 这个进程打开接口连到局域网或互联网。 进程没有可视窗口。

    作者 Anonymous 匿名, 时间 2009年1月27日星期二 GMT+8 20:52:00  

  • 我在学校的时候做过一点JAVA的东西,GUI还是不错的,可是速度确实不敢恭维,当初MOTOROLA也想做JAVA的手机平台的,也是不了了之。我觉得SUN做这个东西本身意义没有那么大,如果再出个SUN_AGAIN也是做通用平台的,是不是又要出个什么MOON又要来将它们给统一化呢? 还不如在硬件和操作系统层次就做个统一更实际点。个人浅见。

    作者 Blogger Kevin, 时间 2009年2月19日星期四 GMT+8 22:52:00  

发表评论

订阅 博文评论 [Atom]



<< 主页