小白Java笔记——垃圾回收机制
来源:互联网 发布:数据防泄漏国内厂家 编辑:程序博客网 时间:2024/05/16 15:27
一、传统的C/C++回收机制
在C/C++中,对象占用的内存在程序结束之前会一直被霸占,被明确释放之前不能分配给其他对象。 显式进行垃圾回收:需要程序员自己负责回收已经分配的内存。 也就引出了“内存泄漏”:一些分配出去的内存没有被及时后手,会引起系统运行速度下降,甚至导致程序瘫痪。 由此可以得出缺点:1.程序忘记及时回收无用内存,导致内存泄漏; 2.程序错误地回收程序核心类库的内存,使系统瘫痪。
二、Java回收机制
GC(Garbage Collection):称作垃圾回收。Java不需要程序员自己控制内存回收,而是有JRE在后台回收不再使用的内存。通常JRE会提供一个后台县城来进行检测和控制(一般在CPU空闲或者没有太多内存时自动回收)。 这时就涉及到Java的内存问题了,简单说一下: Java的堆内存是一个运行时数据区,用于存储类的实例对象;Java虚拟机的堆内存中存储正在运行的应用程序所建立的所有对象。 Java中,当没有对象引用指向原先分配的某对象时,这就成了垃圾。 GC的特点:1.回收无用对象的内存空间,都是JVM堆内存里的,且对物理空间无能为力如数据库连接,磁盘I/O等; 2.给不再使用的对象引用变量设置为null,可以更快的回收; 3.有不可预知性。不同的JVM采用不同的垃圾回收机制,如回收时间的不同,程序员虽然可以通过finalize()方法和System.gc()方法来建议,但不能做到精确控制。 4.精确性:一是精确标记活着的对象。是完全回收所有废弃对象的前提,保证不会出现内存泄漏;二是精确定位对象之间的引用关系。是实现归并和复制的必要条件。
三、收获
由上就引出了平时写Java代码时,要遵循一个基本原则:对于不再需要的对象,就不要再引用他们。
之后还会有细节补充,,,,
阅读全文
0 0
- 小白Java笔记——垃圾回收机制
- Java笔记--垃圾回收机制
- java 垃圾回收机制笔记
- java垃圾回收机制笔记
- java垃圾回收——工作机制
- Java——垃圾回收机制
- Java基础知识—垃圾回收机制
- Java的内存回收——垃圾回收机制
- Java垃圾回收——三种回收机制
- 深入浅出Java垃圾回收机制(2)——如何监控Java垃圾回收机制
- Java学习笔记---垃圾回收机制
- Java的垃圾回收机制笔记
- Java学习笔记之垃圾回收机制
- Java成长笔记-----垃圾回收机制
- Java笔记之垃圾回收机制
- GC—垃圾回收机制
- JVM—垃圾回收机制
- java垃圾回收机制
- QTableView根据内容自动调整大小(resizeColumnToContents解决不了的)
- Mysql_full_backup.sh
- iOS内存泄露,你做好iOS加密工作了吗?
- 进度条(一)
- iOS开发之基础篇(15)—— KVC、KVO
- 小白Java笔记——垃圾回收机制
- marquee功能:marquee的速度怎么设置
- HTML5的manifest缓存
- Git使用——与github共舞01
- 嵌入式Qt下UTF8转GBK
- 面试题1
- 我今天遇见的hql和纯sql的坑
- 模拟Android内存不足 activity回收 值保存 状态恢复
- ios-KVC深入