zoukankan      html  css  js  c++  java
  • Java内存泄漏

    什么是内存泄漏:

    对象没有被应用程序使用,但是没有移除掉,还在被引用。

    判断一个内存空间是否符合垃圾收集的标准有两个:一个是给对象赋予了空值null,以下再没有调用过另一个是给对象赋予了新值,这样重新分配了内存空间

    Java内存泄漏引起的原因

    无用对象持续占有内存或者得不到及时释放,从而造成内存浪费称为内存泄漏

    • 静态集合类没有清空造成内存泄漏

    • listener释放对象的时候删除监听器

    • 数据库连接,网络连接,io流要及时close

    java内存分配策略

    • 静态存储区:静态数据,全局static数据,常量

    • 栈:局部变量,基础数据类型,对象引用

    • 堆:动态内存分配,直接new出来的对象

    堆和栈区别

    栈:基本类型的变量,对象的引用变量

    堆:new出来的对象和数组

    如何防止内存泄漏

    在确认一个对象无用后,将其所有引用显式的置为null

  • 相关阅读:
    pyinstaller相关用法
    yield 与 yield from
    async /await相关知识理解
    调试程序方法pdb
    任务22-4
    任务22-2
    跳台阶
    计算三维空间某点距离原点的欧式距离
    质数判断
    罗马数字转换
  • 原文地址:https://www.cnblogs.com/androidsuperman/p/14714968.html
Copyright © 2011-2022 走看看