内存泄露是什么引起的?

问题描述

严重: Servlet.service() for servlet action threw exceptioncom.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations allowed after connection closed.at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:888)at com.mysql.jdbc.Connection.checkClosed(Connection.java:1931)at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4705)at com.mysql.jdbc.Connection.prepareStatement(Connection.java:4671)at sun.reflect.GeneratedMethodAccessor56.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.logicalcobwebs.proxool.ProxyConnection.invoke(ProxyConnection.java:68)at org.logicalcobwebs.cglib.proxy.Proxy$ProxyImpl$$EnhancerByCGLIB$$d98d67f1.prepareStatement(<generated>)at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:442)at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:368)at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatcher.java:105)at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1561)at org.hibernate.loader.Loader.doQuery(Loader.java:661)at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)at org.hibernate.loader.Loader.doList(Loader.java:2145)at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)at org.hibernate.loader.Loader.list(Loader.java:2024)at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)at com.chinatravel.dao.impl.BasehibernateDAO.findByName(BasehibernateDAO.java:268)at com.chinatravel.struts.action.UserAction.userLogin(UserAction.java:71)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:270)at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:187)at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.chinatravel.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:40)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at com.chinatravel.dao.LoginUserCheck.doFilter(LoginUserCheck.java:50)at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:861)at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:579)at org.apache.tomcat.util.net.AprEndpoint$Worker.run(AprEndpoint.java:1584)at java.lang.Thread.run(Thread.java:619)2010-11-3 16:48:49 org.apache.catalina.core.StandardWrapperValve invoke严重: Servlet.service() for servlet action threw exceptionjava.lang.OutOfMemoryError: Java heap spaceat java.util.Arrays.copyOf(Arrays.java:2882)at java.lang.StringCoding.safeTrim(StringCoding.java:75)at java.lang.StringCoding.access$100(StringCoding.java:34)at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:151)at java.lang.StringCoding.decode(StringCoding.java:173)at java.lang.String.<init>(String.java:444)at java.lang.String.<init>(String.java:516)at com.mysql.jdbc.ResultSet.getStringInternal(ResultSet.java:5709)at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5597)at com.mysql.jdbc.ResultSet.getString(ResultSet.java:5613)at org.hibernate.type.StringType.get(StringType.java:18)at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:113)at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:102)at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:1899)at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1372)at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1300)at org.hibernate.loader.Loader.getRow(Loader.java:1197)at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:569)at org.hibernate.loader.Loader.doQuery(Loader.java:689)at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)at org.hibernate.loader.Loader.doList(Loader.java:2145)at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)at org.hibernate.loader.Loader.list(Loader.java:2024)at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:308)at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:153)at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1106)at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)at com.chinatravel.dao.impl.BasehibernateDAO.findByHql(BasehibernateDAO.java:279)at com.chinatravel.struts.action.AllInfoAction.findInfo(AllInfoAction.java:93)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 问题补充:pwc_pengwenchao 写道

解决方案

出现问题com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException的解决办法,检查Connection是否重复关闭。最大可能就是关闭连接后有去执行关闭操作。com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed 原因:刚使用的连接没有关闭,当第二次调用时不为空,所以直接返回一个关闭状态的连接。例如:1.静态的连接2使用某个对数据库操作的方法做逻辑运算.总的来说都是粗心造成的
解决方案二:
原因:刚使用的连接没有关闭,当第二次调用时不为空,所以直接返回一个关闭状态的连接。 http://feirou520.iteye.com/blog/282784http://odysseus-110.iteye.com/blog/441941

时间: 2024-12-23 05:28:14

内存泄露是什么引起的?的相关文章

关于Android聊天界面中用使用adapter导致内存泄露的问题,目前不知道如何改善,大神帮忙看看

问题描述 关于Android聊天界面中用使用adapter导致内存泄露的问题,目前不知道如何改善,大神帮忙看看 之前一段时间使用一段时间老是导致内存升高,而且内存也不回收,一步一步的排除了很多地方, 到最后发现问题是出在adapter中,但是也不知道怎么改了. 大神帮看看哪些地方会导致内存泄露! public void setmList(List mList) { if (isgroup) { isDiaplayNickName = SharePreferenceUtil.get_Boolean

记录由Equal基础知识引起的内存泄露

      在最近的公司框架开发中,利用了网上某大牛的反射缓存库作为辅助.在测试的时候发现出现了巨大的内存泄露,在频繁的操作后,内存不断的产生巨大的开销,10多分钟就占有了5,6m的内存.解决问题的时,公司不能上网,没有内存分析工具,没有我钟爱的ANTS Memory Profiler帮助下,我们只能靠简单的内存输出来二分查找缩小范围,利用 System.Diagnostics命名空间下的Process的WorkingSet64属性来统计两次输出的内存增长量(WorkingSet64:描述关联的

C语言内存泄露检测--Memwatch

项目:迅雷下载库内存泄露检测 作者:曾金龙 供职:深圳迅雷网络技术股份有限公司 领域:迅雷下载库 时间:2014-07-26 迅雷的移动下载库是用C语言编写的,为了能够横跨欧亚非拉(ios,android,还有诺基亚的什么系统来着,对了symban)和性能,我们厂的下载库就选择了C,然后在C代码里面使用各种宏,预编译等来达到一 个下载库,多平台使用.不过平台相关的都已经约束在了一个叫common的库里面的一个子模块里面了.这极大的解放了我厂的码农朋友. 但是C毕竟是C,在聊起C的时候,我们组最喜

Python中由于logging模块误用导致的内存泄露的解决方法

  Python中由于logging模块误用导致的内存泄露的解决方法         这篇文章主要介绍了解决Python中由于logging模块误用导致的内存泄露,针对由于过多的UDP连接所产生的问题,需要的朋友可以参考下 首先介绍下怎么发现的吧, 线上的项目日志是通过 logging 模块打到 syslog 里, 跑了一段时间后发现 syslog 的 UDP 连接超过了 8W, 没错是 8 W. 主要是 logging 模块用的不对 我们之前有这么一个需求, 就是针对每一个连接日志输出当前连接

htmlcxx中css文件解析中yyparse有内存泄露,哪位大神能不能帮忙看一下

问题描述 htmlcxx中css文件解析中yyparse有内存泄露,哪位大神能不能帮忙看一下 使用最新版的htmlcxx0.85版,把内部的css解析部分抽出之后,检测出内存泄露

android开发中的java内存泄露分析

做了较长时间的android开发了,发现其实android应用开发入门容易,但是进阶或者成为高级工程师,需要具备的基础能力还是非常高的:性能优化.内存泄露.apk瘦身.热修复等等,这些都非常的考验一个人的能力.android成长之路还很长,自己会持续的走下去.本文主要介绍android内存泄露方面的知识.其实要真的理解内存泄露,需要对JVM.java语言有一定的了解,在这个基础上就比较容易理解本文了. 一.内存泄露概念 在java中,如果一个对象没有可用价值了,但又被其他引用所指向,那么这个对象

关于MFC下检查和消除内存泄露的技巧

摘要 本文分析了Windows环境使用MFC调试内存泄露的技术,介绍了在Windows环境 下用VC++查找,定位和消除内存泄露的方法技巧. 关键词:VC++:CRT 调试堆函数: 试探法. 编译环境 VC++6.0 技术原理 检测内存泄漏的主要工具 是调试器和 CRT 调试堆函数.若要启用调试堆函数,请在程序中包括以下语句: #define CRTDBG_MAP_ALLOC #include <stdlib.h> #include <crtdbg.h>注意 #include 语句

浏览器中的内存泄露

什么是内存泄露 内存泄露是指一块被分配的内存既不能使用,又不能回收,直到浏览器进程结束.在C++中,因为是手动管理内存,内存泄露是经常出现的事情.而现在流行的C#和Java等语言采用了自动垃圾回收方法管理内存,正常使用的情况下几乎不会发生内存泄露.浏览器中也是采用自动垃圾回收方法管理内存,但由于浏览器垃圾回收方法有bug,会产生内存泄露. 内存泄露Quick View 不同的浏览器中存在各种内存泄露方式,目前发现的主要是这样几种: 1.循环引用 已经确认存在泄漏的浏览器:IE6.0 FF2.0

Flex应用内存泄露的分析与诊断

引言 Flex 采用 ActionScript 语言作为脚本语言,编译后的二进制代码在 FlashPlayer 虚拟机 AVM(Actionscript Virtual Machine)中运行.和 Java 语言类似, AVM 中也有一个垃圾收集器(Garbage Collection),对于不用的对象,隔一段时间会进行 收集并销毁,释放内存.和 C++ 语言相比,程序员不需要时刻关注内存的分配和释放,大大 减轻了负担.但是垃圾收集器不能从根本上解决 Flex 内存泄露的问题,这得从 Flash

android内存泄露分析工具MAT详解

一.准备 1.什么是MAT Eclipse提供的一个内存分析工具.它是一个功能丰富的 JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗. android studio未集成该插件 需要你下载独立版 android studio的DDMS可以生成hprof是什么文件,不过需要进行一下格式转化(.hprof文件从Dalvik格式转换成J2SE HPROF格式),才可以导入MAT独立版软件. 2.hprof是什么文件 heap dumps,中文翻译,堆转储,快照.即堆内存某个时刻的情