我在 websphere 7 中部署的应用程序中遇到内存不足问题。
我正在使用 yourKit 来尝试解决正在发生的事情,我可以看到的一件有趣的事情是,当我第一次启动我的应用程序时,它会加载大约 20k 类,并且每次我进行另一次部署时(无需重新启动 websphere ) 这个数字增加了 2k 并且堆大小跟随这个增加。
我猜这是根本问题,但我不知道如何解释为什么会发生这种情况。
我试图在一个部署之前和另一个之后列出所有类,但这并没有很好地工作,因为我无法列出所有 20k 类(只有 10k 不知道为什么)。当我比较这两个列表时,我发现大约 600 个新类确实来自我的应用程序或来自我的应用程序的依赖项。
我发现我的大多数应用程序类都是 Enums 和 DAO 类的实现。
我的应用程序是一个使用 Struts 和 Spring 框架的 Java EE 6 应用程序。
有什么想法吗?