thxger 2011-05-12 11:00
浏览 272
已采纳

Sun JDK在Linux与Windows下表现悬殊,Linux下面很慢不知道要优化什么?

我写了一个处理HTML的小程序,用了neko库,生成Document对象后做分析处理。整个程序在Windows下运行一切OK,到了Linux服务器上,却在提取URL时特别卡(比某些贴子里提到的1:10还夸张,要卡老半天)。

URL的提取我先是用的getElementsByTagName('A'),后面怀疑当A标签多达上千个时这个方法是不是有性能问题,就改成了遍历,结果还是一样的。

但也不一定是这一句本身卡住。提取出来的URL生成java.net.URL对像,放在一个Set里。怀疑过Set过大内存不足,但我一来试过启动时加大内存,二来我把程序改成了每一百个就提交一次并清空Set,都不见效果。

这个小程序没有多线程(neko 包里有没有不清楚,但似乎它的工作完成的比较顺利,应该与它无关)。

Linux环境为CentOS 5 64bit, Sun JDK 1.6, SELinux Permit, Tomcat运行良好。

看别人有因为系统自带了 JDK 1.4且默认用了这个导致速度很慢的,我的系统里找不到其它JDK,java -version也是正确的。

请高手们给个思路吧,我也计划找个性能分析工具看看更具体的东西。只是这么个小程序,居然弄到这么麻烦……

  • 写回答

3条回答 默认 最新

  • suziwen 2011-05-12 11:04
    关注

    直接用JDK自带的JCONSOLE看看

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • redstarofsleep 2011-05-12 11:06
    关注

    JDK的bin目录下有个jconsole可以查看JVM运行时的状况。

    windows下的话,除了这个还有个jvisualvm.exe更清楚点。

    评论
  • iihero 2011-05-12 11:14
    关注

    使用Yourkit,非常方便。

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 matlab+波形匹配算法
  • ¥15 转录组分析做聚类树图时癌旁组被分到了癌组
  • ¥15 大一Python字典
  • ¥15 multisim电路设计(相关搜索:设计报告)
  • ¥15 PC-lint Plus
  • ¥15 gpl24676注释
  • ¥15 php5.3内存泄露
  • ¥15 DigSilent如何复制复合模型到自己案例?
  • ¥15 求日版华为b610s-77a 官方公版固件,有偿
  • ¥15 关于#java#的问题,请各位专家解答!(相关搜索:java程序)