博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java的内存泄露
阅读量:5067 次
发布时间:2019-06-12

本文共 602 字,大约阅读时间需要 2 分钟。

java的内存泄露

来源:

在实际开发中,经常会造成系统的崩溃。如下这些操作我们应该注意这些使用场景。

  • 创建大量无用对象:
    比如,我们在需要大量拼接字符串时,使用了String而不是StringBuilder。
String str = "";for (int i = 0; i < 10000; i++) {       str += i;     //相当于产生了10000个String对象}
  • 静态集合类的使用

    像HashMap、Vector、List等的使用最容易出现内存泄露,这些静态变量的生命周期和应用程序一致,所有的对象Object也不能被释放。

  • 各种连接对象(IO流对象、数据库连接对象、网络连接对象)未关闭

    IO流对象、数据库连接对象、网络连接对象等连接对象属于物理连接,和硬盘或者网络连接,不使用的时候一定要关闭。

  • 监听器的使用

    释放对象时,没有删除相应的监听器。

注意:

  1. 程序员无权调用垃圾回收器。
  2. 程序员可以调用System.gc(),该方法只是通知JVM,并不是运行垃圾回收器。尽量少用,会申请启动Full GC,成本高,影响系统性能。
  3. finalize方法,是Java提供给程序员用来释放对象或资源的方法,但是尽量少用。

转载于:https://www.cnblogs.com/ziyue7575/p/f2a104a403c242fbfa35ed5ba78f1c2b.html

你可能感兴趣的文章
第一阶段冲刺06
查看>>
WIN下修改host文件并立即生效
查看>>
十个免费的 Web 压力测试工具
查看>>
ckeditor 粘贴后去除html标签
查看>>
面试题
查看>>
51Nod:活动安排问题之二(贪心)
查看>>
EOS生产区块:解析插件producer_plugin
查看>>
数据库框架的log4j日志配置
查看>>
lintcode-easy-Remove Element
查看>>
mysql 根据地图 坐标 查询 周边景区、酒店
查看>>
mysql重置密码
查看>>
jQuery轮 播的封装
查看>>
一天一道算法题--5.30---递归
查看>>
switchcase的用法
查看>>
React.js 小书 Lesson15 - 实战分析:评论功能(二)
查看>>
Java基础03 构造器与方法重载
查看>>
nginx ------反向代理和负载均衡
查看>>
908. Smallest Range I
查看>>
ThinkPHP 分页实现
查看>>
jQuery在线手册
查看>>