我使用yourKit,试图解决它发生的事情,一个有趣的事情,我可以看到的是,当我第一次启动我的应用程序时,它会加载大约20k个类,并且每次我进行另一次部署时(不重新启动websphere),此数字将增加2k,并且堆大小随之增加。
我猜这是根本问题,但我不知道如何解释为什么发生这种情况。
我试图列出所有的类之前一个部署和一个又一个,但这没有工作得很好,因为我无法列出所有20k类(只有10k不知道为什么)。当我比较这两个列表时,我发现了大约600个新的类,它们确实来自我的应用程序或来自我的应用程序的依赖关系。
我发现我的大部分应用程序类都是枚举类和DAO类的实现。
我的应用程序是一个使用Struts和Spring框架的Java EE 6应用程序。
有什么想法?
类加载器泄漏的乐趣! http://frankkieviet.blogspot.com/2006/10/classloader-leaks-dreaded-permgen-space.html – DannyMo
@damo websphere 7很有趣:) – WeMakeSoftware
请注意,您的问题描述存在不一致,因为您是谈论Java EE 6应用程序,但WebSphere 7是一个Java EE 5应用程序服务器。 –