当前位置:  技术问答>java相关

关于java(GUI程序)的内存泄露应该如何解决呢?

    来源: 互联网  发布时间:2015-07-06

    本文导语:  我们做的是一般的application,主要用到了swing,主要用到的组件也就是JFrame,JPanel,JButton,JTable等等以及事件处理。现在发现整个程序存在 内存泄露,而在写程序时候并没有十分关心这个问题,请问应该如何去修改 才能够避...

我们做的是一般的application,主要用到了swing,主要用到的组件也就是JFrame,JPanel,JButton,JTable等等以及事件处理。现在发现整个程序存在
内存泄露,而在写程序时候并没有十分关心这个问题,请问应该如何去修改
才能够避免?我用了purify,发现每次打开一个窗口然后关闭,内存总是不能恢复。

|
the memory leak discussed everywhere is normally because you keep the reference to an unused object somewhere.
most obvious example would be:
obj = new XXX();
vector.add(obj);
obj = null;//here, obj won't be gc'ed because it is still in vector.

|
要在程序里着手,看是否最优化。
http://www.onjava.com/lpt/a//onjava/2001/05/30/optimization.html

|
跟static声明应该没有必然关系。“内存泄漏”这个词在Java里并不确切,因为它的垃圾收集(内存释放)机制跟Windows内存管理器的完全不同。在Java中,并不是每一个对象在失效之后就会被立即释放掉所占内存。及时是Java的应用整体结束之后,也许很多对象仍可以在JVM中存在相当长时间——直至JVM下一次调用垃圾收集释放以上内存。

Java应用程序对内存的冠里也不是完全被动的,你也可以在合适的地方显式地调用System.gc(),来让JVM立即清理无用的对象。比如,在paint()的结尾——因为画图的资源相对而言比较“昂贵”!

更多关于Java垃圾收集问题请参考Thinking in Java 2nd Edition。

    
 
 

您可能感兴趣的文章:

  • 关于JAVA的内存泄露,高分求教!
  • Java编程的时候怎样有效的防止内存泄露?
  • 详细介绍Java内存泄露原因
  • Java中典型的内存泄露问题和解决方法
  • 内存泄漏是什么?怎么造成的?java中会不会产生内存泄漏?
  • 求救:AIX下java进程堆内存存在大量空余,但rss内存不断增加
  • linux下查看java项目虚拟内存很大,请高手指点下
  • Java编程的时候怎样有效的防止内存泄露? iis7站长之家
  • java虚拟机的内存大小是否可变
  • Java 中如何检测内存泄漏?
  • Java内存使用分析 HeapAnalyzer
  • java 程序在Linux red had 7.2 下运行内存疯涨的问题?
  • 请问:在JAVA中创建句柄后,有没有给这个对象分配内存?
  • java.exe以及相关程序环境运行时报内存错误,请教各位什么原因?
  • Java内存持久层框架 Prevayler
  • Java 内存泄漏检测工具 Censum
  • 请问在Linux里,如何用JAVA读取内存里的PATH设置
  • 急急急:Java实现共享内存疑难,请各位帮手!
  • 深入分析Java内存区域的使用详解
  • Java内存文件系统 Jimfs
  • 如何修改tomcat.sh文件,限定java使用的内存?????
  • 请问如何在java 命令的参数中指定JVM 的最大和最小内存
  • 在java中怎么知道一个对象占用内存的字节数?
  • 这个操作java会自动释放内存空间吗?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 用java做东西,除了学习java,最重要的还应该学习些什么东西?
  • 学习java应该看那些书???
  • 我想在java里调用windows API,应该怎么做
  • 初学java应该看那些书?
  • 对于初学者应该看什么样的java书籍
  • 我想学习JAVA, 应该如何下手, 选用什么工具?
  • 想深入学习Java应该学习哪些东西
  • 我是JAVA初学者,看到SUN网站上面有很多JAVA的SDK下载,请问我应该下哪一个呢?
  • 菜鸟求救: 到底应该如何学习java???
  • 对于java我们应该还要做点什么?
  • 用java开发数据库,连接db2应该如何设置classpath (或者说应引入哪个包)
  • 急急急!!!用到parseInt函数应该import java.lang.*;是吗?为何有错呢?
  • to 高手:学java应该怎样一步步学习,从菜鸟到高手.
  • 实现b/s模式的ERP系统?应该使用java中的那些技术?
  • JAVA程序应该如何调试?
  • 有c++基础和一些开发经验的人,初学java应该看什么书?
  • 一点不会Java想学Jave应该先看什么入门书比较好!
  • 请问应该如何更改java应用程序的图标?
  • 请高手给我一点建议,应该如何开始学Java?
  • 应该如何安装sun-java5-plugin
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: stringflavor定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3