JAVA会产生内存泄露吗?首先,答案是肯定的。

Java尽管有垃圾回收器,但依旧存在泄漏。

Java内存泄漏跟C/C++内存泄漏的概念不一样:C/C++的内存泄漏是指Malloc了一些资源。最后没有free掉,内存没有回收,这个是真正意义上的内存黑洞;而Java的泄漏指,Java对象的存在对程序已经没有意义,可是对象在程序周期内一直存在。这个可能会导致Java的内存泄漏。

总结原因,大概有以下几个方面:

(1)Java的某个对象被一个生命周期非常长的类不当持有,这个是Java内存泄漏最基本的原因,对象在某个Task中没有主动清除。其宿主在工作时会不断添加该对象的引用数,也就会吃掉很多其它的内存,从而导致内存泄漏;当程序猿疏忽大意地忘记解除一个对象不应该有的引用的时候。内存泄漏仍然不可避免.
(2)在Runtime Exception的时候。没实用finally{}来释放某些资源; 
(3)变量范围的扩大,比方说一个方法的局部变量被定义成类的变量,这样导致变量的生命期变长。有可能导致泄漏(这个和第一点还是有点像的)。

Java的内存泄漏和垃圾回收机制相关推荐

  1. JS内存泄漏与垃圾回收机制

    来源 | http://www.fly63.com/article/detial/10087 由于字符串.对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配.JavaScri ...

  2. JS 内存泄漏与垃圾回收机制

    前言 不管什么程序语言,内存生命周期基本是一致的: 分配你所需要的内存 使用分配到的内存(读.写) 不需要时将其释放\归还 所有语言 第二部分都是明确的,第一和第三部分在 底层语言 中是明确的.但在像 ...

  3. 详解JVM内存管理与垃圾回收机制5 - Java中的4种引用类型

    在Java语言中,除了基础数据类型的变量以外,其他的都是引用类型,指向各种不同的对象.在前文我们也已经知道,Java中的引用可以是认为对指针的封装,这个指针中存储的值代表的是另外一块内存的起始地址(对 ...

  4. JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)

    转载注明出处: http://blog.csdn.net/cutesource/article/details/5904501 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.e ...

  5. 详解JVM内存管理与垃圾回收机制2 - 何为垃圾

    随着编程语言的发展,GC的功能不断增强,性能也不断提高,作为语言背后的无名英雄,GC离我们的工作似乎越来越远.作为Java程序员,对这一点也许会有更深的体会,我们不需要了解太多与GC相关的知识,就能很 ...

  6. 复习Javascript专题(二):闭包,内存,以及垃圾回收机制

    1.什么是闭包?闭包有啥特性以及存在什么问题? 概念:闭包是指有权访问另一个函数作用域中的变量的函数.下面的outer就形成了一个闭包: function outer(){const name='na ...

  7. Python内存管理以及垃圾回收机制

    垃圾回收:用通俗点的语言解释就是内存管理和垃圾回收的过程. 大管家refchain 在Python的C源码中有一个名为refchain的环状双向链表,这个链表就比较厉害了,因为Python程序中一旦创 ...

  8. python内存的回收机制_python的内存管理和垃圾回收机制详解

    简单来说python的内存管理机制有三种 1)引用计数 2)垃圾回收 3)内存池 接下来我们来详细讲解这三种管理机制 1,引用计数: 引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用 ...

  9. JavaScript内存分配及垃圾回收机制

    JavaScript内存分配及垃圾回收机制 简介 像C语言这样的高级语言一般都有底层的内存管理接口,比如 malloc()和free().另一方面,JavaScript创建变量(对象,字符串等)时分配 ...

最新文章

  1. 计算机教育杂志社投稿送样刊,山东教育杂志社投稿期刊论文征稿发表-陶润杂志网...
  2. 第一次作业:艰难的计算机之路
  3. Android工具大杂烩
  4. 为什么大部分男生比女生高?原因让你意想不到
  5. OpenJudge NOI 1.7 08:字符替换
  6. matlab虚拟现实仿真
  7. 又见程序媛 | 从索引的创建角度分析热门“面试题”
  8. 数据挖掘 -- 分类的模型评估度量
  9. 30分钟快速上手Docker,看这篇就对了!
  10. requestIdleCallback函数
  11. 帝国7.2 php5.2,帝国CMS7.2版升级到7.5版的详细步骤方法(已测)
  12. SQLZOO附加题练习 - Window functions
  13. 电脑硬盘坏了怎么修复
  14. nasm做一个简单的操作系统写字本(3)
  15. 全球及中国装配式建筑行业深度研究与发展模式咨询报告2022版
  16. qt去掉莫名其妙的semantic issue
  17. Ecshop 2.7.1 B2B2C 小京东 商城网站 商品详情页二维码显示出错
  18. alta公司1553b板卡编程相关
  19. 为什么说:即便疫情过后,远程办公依旧实行不起来
  20. 【解决方案】阿里企业云邮箱 报错 526 Authentication failure[0]

热门文章

  1. “AI+教育”:人工智能下个掘金点?
  2. 项目经理生存现状(漫画)
  3. 一文看懂人工智能的发展速度到底有多快
  4. Python 之 Pandas (三)选择数据
  5. python库datetime的使用
  6. 神经网络为大脑如何运作提供新见解
  7. 量化集体行为特刊:信息论为量化集体性提供形式化框架
  8. 论文速递:智能作为信息处理系统
  9. 《自然》评价“天问一号”成功发射—— 全球深空探索走进新时代
  10. 知识图谱简史:从1950到2019