首页 > 系统相关 >内存泄露 内存释放 和垃圾回收机制

内存泄露 内存释放 和垃圾回收机制

时间:2023-02-10 11:55:27浏览次数:52  
标签:垃圾 变量 标记 回收 引用 泄露 内存

答:当使用一个参数,会进行内存的分配,内存的使用,内存的释放。

什么会导致内存泄露
答:1.意外的全局变量 =》必须确保在使用过后将它设置为null
2 定时器 =》 清除定时器
3事件绑定时addEventLister使用的参数,在使用完没有removeEventList =》移除绑定事件
4 减少闭包的使用

垃圾回收机制的方法
答:标记清除法:
当变量进入执行环境的时候,垃圾回收器会获取并且标记他们,然后去访问并标记引用他们的那些变量,递归地进行这样的操作,如果最后发现还有没有被标记的,那么这些就是环境中的变量不会访问到的了,这些就可以删除
引用计数法:
当声明一个变量并给该变量赋值一个引用类型的值时候,该值的计数+1,如果这个变量被其他值取代,那么这个值的计数-1,当计数变为0的时候,说明无法访问该值了,垃圾回收机制清除该对象
缺点:当两个对象循环引用的时候,引用计数法没有作用

参考文献:https://blog.csdn.net/weixin_44786530/article/details/126617193
https://blog.csdn.net/weixin_44669966/article/details/123332493

标签:垃圾,变量,标记,回收,引用,泄露,内存
From: https://www.cnblogs.com/zw100655/p/17108421.html

相关文章

  • arthas内存也可以分析 -线程死锁 -cpu高
    https://blog.csdn.net/qq_43692950/article/details/122688520......
  • Linux系统查看内存型号、主板、硬盘等信息
    1.Linux查看内存的插槽数,已经使用多少插槽.每条内存多大:[root@mxh~]#dmidecode|grep-A5"MemoryDevice"|grepSize|grep-vRangeSize:4096MBSize:4096MBSiz......
  • 使用jps+jinfo也可以测试当前jvm的垃圾回收器
    使用命令行使用jps+jinfo也可以测试当前jvm的垃圾回收器#查看当前运行java线程jps#找到运行的线程使用jinfo-flagjinfo-flagUseG1GC[jps看到的线程id]例:出现+Us......
  • Python 5.垃圾回收机制与运算符
    一、垃圾回收机制1.定义垃圾回收机制(简称GC)是Python解释器自带一种机,专门用来回收不可用的变量值所占用的内存空间。 2.为什么要有垃圾回收机制程序运行过程......
  • jvm内存模型
    1. jvm的本质     用于解释和运行Java程序的C++程序,本质就是一个程序。2.  JVM主要由三部分组成    (1)执行引擎:用于解释字节码    (2)类加载......
  • 解读 Java 云原生实践中的内存问题
    作者:风敬(谢文欣)Java凭借着自身活跃的开源社区和完善的生态优势,在过去的二十几年一直是最受欢迎的编程语言之一。步入云原生时代,蓬勃发展的云原生技术释放云计算红利,推动业......
  • 解读 Java 云原生实践中的内存问题
    作者:风敬(谢文欣)Java凭借着自身活跃的开源社区和完善的生态优势,在过去的二十几年一直是最受欢迎的编程语言之一。步入云原生时代,蓬勃发展的云原生技术释放云计算红利,推动......
  • 【Rust学习】内存安全探秘:变量的所有权、引用与借用
    作者:京东零售周凯一.前言Rust语言由Mozilla开发,最早发布于2014年9月,是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种......
  • MemoryAnalyzer(MAT) 内存分析工具
    MemoryAnalyzer(MAT)内存分析工具启动指定JDK11+以上的版本进行启动(MAT必须要JDK11+才能成功启动):下载JDK11+(OpenJDK:https://jdk.java.net/19/)修改~/Mem......
  • 【Rust学习】内存安全探秘:变量的所有权、引用与借用
    作者:京东零售周凯一.前言Rust语言由Mozilla开发,最早发布于2014年9月,是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少......