Java 应用程序导致内存泄漏

Java 应用程序导致内存泄漏,java,memory-leaks,tomcat7,smartgwt,heap-memory,Java,Memory Leaks,Tomcat7,Smartgwt,Heap Memory,目前正在smartGWT项目中工作,当应用程序执行任何CRUD或网格加载和刷新操作以及部署在tomcat server 7.0中的应用程序时,它会消耗大量内存。我在tomcat中尝试过线程规范和内存限制,但它不起作用。请您建议避免内存泄漏的方法。等待您的回复。以避免内存泄漏。我们应该获得有关在应用程序上分配的对象的信息。若您使用的是IBMJDK,那个么当JVM抛出内存时,JVM将收集javacore、system core和snaptrace。直到系统抛出OOM,我们才能清楚地了解对象分配和取消

目前正在smartGWT项目中工作,当应用程序执行任何CRUD或网格加载和刷新操作以及部署在tomcat server 7.0中的应用程序时,它会消耗大量内存。我在tomcat中尝试过线程规范和内存限制,但它不起作用。请您建议避免内存泄漏的方法。等待您的回复。

以避免内存泄漏。我们应该获得有关在应用程序上分配的对象的信息。若您使用的是IBMJDK,那个么当JVM抛出内存时,JVM将收集javacore、system core和snaptrace。直到系统抛出OOM,我们才能清楚地了解对象分配和取消分配模式

例如:若您在应用程序运行时使用systemcore。有可能GC尚未运行以清除死区对象,因此当前快照可能无法提供应用程序分配的完整信息。 当JVM抛出OOM时,这意味着GC启动,所有可能的死对象集合都会得到处理,因此分析堆中的现有对象将反映java堆上的真实信息

收集日志后,加载系统内核内存分析器工具。 它将帮助您识别泄漏

如果您使用Oracle JDK,请遵循

如果您获得了足够的信息,请接受以下答案,以便此问题不会出现在未回答部分。