我有一个在 Eclipse (Indigo) 和 Javd 1.7x 下运行的网络线程应用程序。很长一段时间以来,我注意到应用程序的第一次运行导致前端和后端加载性能下降,例如,如果我要加载应用程序,然后用 100 个网络数据包击中它(使用测试工具)前几个反应非常不稳定,最后几个反应。[编辑]无需卸载应用程序,只需再次运行测试工具,应用程序即可正常运行。[结束编辑]
我决定尝试深入了解它并加载 VisualVM 1.3.5 来分析行为。CPU 使用率在运行开始时有一个明显的峰值,从 10% 上升到 50% 以上。在峰值之后,一切看起来都正常,并且如上所述,后续运行在 CPU 利用率中没有领先的峰值,后续运行的配置文件与第一次运行的峰值之间的配置文件相同。似乎没有任何证据表明线程数导致它,但有小幅上升。堆空间从 100MB 增加到 200MB,但除此之外一切正常。
任何想法都会受到欢迎。
谢谢