weixin_42311978
2009-06-09 17:19
浏览 284
已采纳

困惑:JAVA部署到WINDOWS运行比JAVA快?

我用MINA框架写了一个SOCKET通讯服务器,部署到WINDOWS上运行,响应一个客户的请求大概是1秒,而在LINUX ENTERPRISE 4上是3秒-5秒。
这是为什么呢?是不是什么地方没配置好,请教各位大侠,谢谢!
用的都是SUN 的 JDK1.6
[b]问题补充:[/b]
我用MINA框架写了一个SOCKET通讯服务器,部署到WINDOWS上运行,响应一个客户的请求大概是1秒,而在LINUX ENTERPRISE 4上是3秒-5秒。
这是为什么呢?是不是什么地方没配置好,请教各位大侠,谢谢!
用的都是SUN 的 JDK1.6
[b]问题补充:[/b]
我用LOG4J记录日志跟踪了下。

模拟的情况是这样的:一台机子发送一个socket请求到服务器上(重复做3次)

结果观察到所耗费的时间区别就是在我程序中的一个类(由AIXS2生产的访问webservice代理对象)的创建中(new)

windows服务器 创建这个对象的时间如下:第一次 700-800ms 第二次60ms 第三次30ms
LINUX服务器 每次都要2m左右

程序中其他模块所消耗的时间基本相同,没太大区别(其他模块也基本没什么对象生成)

难道WINDOWS上NEW一个java对象速度比LINUX上真快?
[b]问题补充:[/b]
想起一个问题
我windows上是用myeclipse启动跑的

而LINUX上是在WINDOWS上通过myclipse打包成jar部署的(因为比较懒,把MINA和AXIS中所有的JAR包全部引入了)。

会不会是因为这个导致慢?
打包JAR时,如果工程引用了过多的多余JAR是不是会影响效率?

初次写JAVA,请多帮助
[b]问题补充:[/b]
晕,我发现问题了,既然没想到JAR会影响效率

我WINDOWS上是用ECLIPSE运行的
LINUX上运行打包后的JAR。

我将WINDOWS上的变成JAR后,效率就基本相同了,感觉LINUX要更快一点(也许是机子配置的细微差别)

JAR为什么打包会影响效率,打包是不是有什么地方要注意(我是用MYECLIPSE7.0自带的RUNJAR(好像拼写错了)向导打包的)
[b]问题补充:[/b]
问题解决了,谢谢解答的兄弟们,罪魁祸首就是JAR打包造成得

我使用MYECLIPSE7.0M2自带得打包向导(runnalbejar,好像又拼错了)打包成JAR得,打包后他把所有程序中用到得第三方类库全部打进去了。

我仔细看了下打包后得JAR里有很多多余得配置文件和一些类包,

我就尝试得删除了多余得配置文件和一些多余得类包(类包应该不是问题,问题应该是多余得配置文件),然后无论是不打包就这样运行,还是再打包JAR运行,都不存在效率问题,速度运行都很快了~

补充说明:给我感觉还是LINUX比windows快,后面这样搞就好了

另外我还有一个问题,是不是MYECLIPSE那个自带打包程序有时不够智能,存在问题,你们平时都是怎么打包得,用什么工具?
(我得要求是打包成JAR就可以,程序中用到了很多第三方类库)

备注:我这个程序是个SOCKET程序,不是什么J2EE,没有用到WEB容器,就直接用JVM跑得

再保留两天,两天后结贴,先谢谢楼上得各位大侠~

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

7条回答 默认 最新

  • ywbanm 2009-06-10 22:22
    最佳回答

    myeclipse打包总会打进去很多无用的包,个人觉得现在完全没有必要再使用Myeclipse了,使用Eclipse WTP (for Java EE) + plugin 就可以完成开发任务了。

    至于打包我一般用 Fat Jar, 你可以试试。

    [url]http://fjep.sourceforge.net/[/url]

    另外佩服下楼主,很有钻研精神!

    要是自己的话,就算发现了,估计也不会深究。 :wink:

    评论
    解决 无用
    打赏 举报
查看更多回答(6条)

相关推荐 更多相似问题