Java的内存泄漏和垃圾回收机制
JAVA会产生内存泄露吗?首先,答案是肯定的。
Java尽管有垃圾回收器,但依旧存在泄漏。
Java内存泄漏跟C/C++内存泄漏的概念不一样:C/C++的内存泄漏是指Malloc了一些资源。最后没有free掉,内存没有回收,这个是真正意义上的内存黑洞;而Java的泄漏指,Java对象的存在对程序已经没有意义,可是对象在程序周期内一直存在。这个可能会导致Java的内存泄漏。
总结原因,大概有以下几个方面:
(1)Java的某个对象被一个生命周期非常长的类不当持有,这个是Java内存泄漏最基本的原因,对象在某个Task中没有主动清除。其宿主在工作时会不断添加该对象的引用数,也就会吃掉很多其它的内存,从而导致内存泄漏;当程序猿疏忽大意地忘记解除一个对象不应该有的引用的时候。内存泄漏仍然不可避免.
(2)在Runtime Exception的时候。没实用finally{}来释放某些资源;
(3)变量范围的扩大,比方说一个方法的局部变量被定义成类的变量,这样导致变量的生命期变长。有可能导致泄漏(这个和第一点还是有点像的)。
Java的内存泄漏和垃圾回收机制相关推荐
- JS内存泄漏与垃圾回收机制
来源 | http://www.fly63.com/article/detial/10087 由于字符串.对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储分配.JavaScri ...
- JS 内存泄漏与垃圾回收机制
前言 不管什么程序语言,内存生命周期基本是一致的: 分配你所需要的内存 使用分配到的内存(读.写) 不需要时将其释放\归还 所有语言 第二部分都是明确的,第一和第三部分在 底层语言 中是明确的.但在像 ...
- 详解JVM内存管理与垃圾回收机制5 - Java中的4种引用类型
在Java语言中,除了基础数据类型的变量以外,其他的都是引用类型,指向各种不同的对象.在前文我们也已经知道,Java中的引用可以是认为对指针的封装,这个指针中存储的值代表的是另外一块内存的起始地址(对 ...
- JVM原理(Java代码编译和执行的整个过程+JVM内存管理及垃圾回收机制)
转载注明出处: http://blog.csdn.net/cutesource/article/details/5904501 JVM工作原理和特点主要是指操作系统装入JVM是通过jdk中Java.e ...
- 详解JVM内存管理与垃圾回收机制2 - 何为垃圾
随着编程语言的发展,GC的功能不断增强,性能也不断提高,作为语言背后的无名英雄,GC离我们的工作似乎越来越远.作为Java程序员,对这一点也许会有更深的体会,我们不需要了解太多与GC相关的知识,就能很 ...
- 复习Javascript专题(二):闭包,内存,以及垃圾回收机制
1.什么是闭包?闭包有啥特性以及存在什么问题? 概念:闭包是指有权访问另一个函数作用域中的变量的函数.下面的outer就形成了一个闭包: function outer(){const name='na ...
- Python内存管理以及垃圾回收机制
垃圾回收:用通俗点的语言解释就是内存管理和垃圾回收的过程. 大管家refchain 在Python的C源码中有一个名为refchain的环状双向链表,这个链表就比较厉害了,因为Python程序中一旦创 ...
- python内存的回收机制_python的内存管理和垃圾回收机制详解
简单来说python的内存管理机制有三种 1)引用计数 2)垃圾回收 3)内存池 接下来我们来详细讲解这三种管理机制 1,引用计数: 引用计数是一种非常高效的内存管理手段,当一个pyhton对象被引用 ...
- JavaScript内存分配及垃圾回收机制
JavaScript内存分配及垃圾回收机制 简介 像C语言这样的高级语言一般都有底层的内存管理接口,比如 malloc()和free().另一方面,JavaScript创建变量(对象,字符串等)时分配 ...
最新文章
- 计算机教育杂志社投稿送样刊,山东教育杂志社投稿期刊论文征稿发表-陶润杂志网...
- 第一次作业:艰难的计算机之路
- Android工具大杂烩
- 为什么大部分男生比女生高?原因让你意想不到
- OpenJudge NOI 1.7 08:字符替换
- matlab虚拟现实仿真
- 又见程序媛 | 从索引的创建角度分析热门“面试题”
- 数据挖掘 -- 分类的模型评估度量
- 30分钟快速上手Docker,看这篇就对了!
- requestIdleCallback函数
- 帝国7.2 php5.2,帝国CMS7.2版升级到7.5版的详细步骤方法(已测)
- SQLZOO附加题练习 - Window functions
- 电脑硬盘坏了怎么修复
- nasm做一个简单的操作系统写字本(3)
- 全球及中国装配式建筑行业深度研究与发展模式咨询报告2022版
- qt去掉莫名其妙的semantic issue
- Ecshop 2.7.1 B2B2C 小京东 商城网站 商品详情页二维码显示出错
- alta公司1553b板卡编程相关
- 为什么说:即便疫情过后,远程办公依旧实行不起来
- 【解决方案】阿里企业云邮箱 报错 526 Authentication failure[0]