`

JSTL的内存泄露问题

阅读更多

使用了JSTL的时候,发现了会有内存泄露

 

这明显是JSTL泄露,看到一blog http://dreamlakyxy.iteye.com/blog/263300

上面也提到了这个问题。

作者于是hack子类 ForEachSupport的代码,增加了一个方法

public void doFinally() {
        super.doFinally();
        items = null;
        rawItems = null;
    }
作者也质疑了里面本来有的release方法,为什么没有执行~

 

我hack的时候,在doFinally方法中,直接调用了release方法,泄露问题就消失了~

完整版本:http://www.java1995.cn/blog/item/426

 

 

分享到:
评论

相关推荐

    JSTL详细标签库介绍

    <BR>3、常见异常实例包括:数组下标越界,算法溢出(超出数值表达范围),除数为零,无效参数、内存溢出异常处理功能:主要处理一些同步异常(除数为0),不宜处理一些异步事件(Disk I/O End、网络信息到达、点击...

    jsp问题处理集,解决大多数jsp的常见问题

    在JSP中处理用户会话是常见的需求,但不当的会话管理可能导致内存泄漏、安全性问题或会话过期问题。了解何时创建、更新和销毁会话,以及如何正确设置会话属性,是解决这些问题的关键。 7. **异常处理**: JSP中的...

    J2ee常见问题手册.rar

    - **内存泄露**:监控JVM内存使用,及时释放不再使用的对象,避免内存溢出。 - **线程安全**:在多线程环境下,确保共享资源的访问是线程安全的。 8. **安全问题** - **权限控制**:确保用户的操作权限被正确...

    jsp开发中遇到的问题及解决方案.rar

    滥用或混淆作用域可能导致数据丢失、内存泄漏等问题,正确选择作用域能保持良好的应用状态。 6. **转发与重定向**:`RequestDispatcher.forward()`和`Response.sendRedirect()`的区别在于,前者在服务器端完成,后...

    jsp中常见到问题及解决办法

    确保正确设置和移除会话属性,避免内存泄漏。 三、JavaBean的使用 1. **JavaBean注入**:通过`<jsp:useBean>`标签可以实例化和注入JavaBean,但若类型不匹配或bean不存在,会导致错误。检查bean的类路径和属性映射...

    JavaWeb全栈面试题

    6. **内存分布**:面试中会涉及到Java内存模型(JMM)、堆内存、栈内存、方法区(元空间)、本地方法栈、垃圾收集机制(GC)以及内存泄漏等问题。理解对象的生命周期和内存管理对于优化程序性能至关重要。 7. **...

    Java笔试题汇总(125道企业常见java笔试题)

    3. 内存管理:内存区域划分(栈、堆、方法区等)、对象生命周期、垃圾回收机制、内存泄漏问题。 4. 数组与集合:数组的基本操作、ArrayList、LinkedList、Vector、HashSet、HashMap等集合框架的使用与区别。 5. 类...

    论坛JSP精华区

    - **session和request处理**:不正确地管理session和request对象可能导致内存泄漏或数据传递问题,应合理设置作用域和清理对象。 4. **JSP与Servlet的关系**: - JSP最终会被翻译成Servlet源码,然后编译为...

    JSP网络编程技术

    3. **内存泄漏**:避免在JSP页面中创建大量的局部变量,尤其是大对象,因为它们可能导致内存泄漏。 4. **性能优化**:使用缓存技术,减少不必要的数据库查询;使用`<jsp:forward>`代替`response.sendRedirect()`,...

    Java面试题全集(上)(中)(下)合集

    深入理解JVM内存模型,包括堆、栈、方法区、本地方法栈、程序计数器等,以及垃圾回收机制、内存溢出和内存泄漏问题,对于优化代码和排查问题有重要意义。 **设计模式** 设计模式是解决软件开发中常见问题的经验总结...

    Tomcat-6.0.18

    1. **内存溢出**:增加JVM堆内存,或者检查是否存在内存泄露的代码。 2. **线程死锁**:使用线程分析工具,如VisualVM,定位并解决死锁问题。 3. **连接超时**:检查网络状况,或调整`connectionTimeout`以适应应用...

    java面试题(压缩包内全包为pdf格式的文件)

    此外,还需熟悉Java内存管理,包括垃圾回收机制、内存泄漏及如何优化内存使用。 JSP方面,面试官可能询问JSP生命周期、EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library)的运用,以及...

    新一代JSP网络编程笔记

    4. 适当使用session和request对象,避免内存泄漏和性能问题。 本笔记通过个人的学习心得,详细解析了JSP网络编程的关键概念和技术,对于初学者和有经验的开发者都是宝贵的学习资料。通过阅读和实践,读者可以掌握...

    j2EE三大框架全面笔记

    1. **内存泄漏**:如果不正确地管理Servlet实例或JDBC连接,可能会导致内存泄漏,影响服务器性能。 2. **线程安全**:在多线程环境下,必须确保JavaBeans的方法是线程安全的,或者采用适当的同步机制。 3. **JSP滥用...

    java . j2ee 面试宝典

    - **内存管理**:垃圾回收机制,内存泄漏和内存溢出的识别与处理。 - **Web应用性能调优**:如HTTP缓存、负载均衡、数据库查询优化等。 在准备面试时,应深入理解这些知识点,并结合具体的实际项目经验,以便更好...

    java面试题集锦

    - 内存管理:垃圾回收机制,内存泄漏,堆栈与堆的区别。 - 多线程:线程同步与通信,线程池,死锁,活锁的概念。 - 集合框架:List, Set, Queue, Map的实现类及其特性,泛型,迭代器等。 - 反射:动态类型,类...

    tomcat-6.0.37(服务器版本)

    10. **内存泄漏预防**:Tomcat 6.0.37对内存泄漏进行了预防措施,减少了由于Java对象未正确释放导致的问题。 在使用Apache Tomcat 6.0.37时,通常需要阅读`readme.txt`文件,了解安装和运行的注意事项。`apache-...

    Java面试宝典2012版

    4. 内存管理:栈与堆的区别,垃圾回收机制,内存泄漏及其预防。 二、Java集合框架 Java集合框架是面试中的重点,包括ArrayList、LinkedList、HashMap、HashSet、TreeMap等容器的使用、特性和比较,以及并发容器如...

    JSP网络编程技术由基础到深入

    3. **管理好作用域**:合理使用request、session、application作用域,避免数据冲突和内存泄漏。 4. **异常处理**:正确处理异常,提供友好的错误提示页面,确保程序健壮性。 通过深入学习和实践,你可以掌握JSP...

    更新JAVA工程师面试题

    - **内存泄漏**:识别和解决内存泄漏问题的方法。 - **类加载机制**:双亲委派模型,以及自定义类加载器。 每个主题都值得深入研究,理解和实践,因为Java工程师的面试通常会测试这些基础知识以及在实际项目中的...

Global site tag (gtag.js) - Google Analytics