JAVA 的垃圾回收机制
来源:互联网 发布:tomcat 域名绑定 路由 编辑:程序博客网 时间:2024/05/15 11:17
JAVA 的垃圾回收机制
如果一些分配出去的内存空间不需要时没有及时回收,就会引起内存泄漏(Memory Leaks),也就是会引起系统运行速度的下降,严重的话甚至会导致整个程序瘫痪。所以回收这些内存空间,以节省宝贵的内存资源就显得尤为重要。 JAVA 提供了一个系统级的线程(JAVA 垃圾收集器线程)来对分配出去的内存进行跟踪,垃圾收集器线程是一种低优先级的线程,当 JAVA 虚拟机处于空闲循环时, 会自动检查分配出去的每一块内存空间,然后自动回收。相比C、C++等其他语言,需要程序员手工回收内存就简单多了。而且程序员并不总是知道内存什么时候该回收释放。JAVA 程序的内存分配和回收都是由 JRE 在后台自动执行的,程序员不能强制垃圾收集器回收一块内存,可以通过调用System.gc()方法来建议执行垃圾收集器,但是什么时候执行、能不能执行都是未知的。 每一个对象都有一个 finalize() 方法,用来回收内存以外的系统资源,每个对象只能调用 finalize() 方法一次。如果 finalize() 方法执行时产生异常,该对象仍可以被垃圾收集器收集。 JAVA 虚拟机具有两个显著的特点: 一是垃圾回收机制很好地提高编程效率,在使用 JAVA 语言编程时,依靠垃圾回收机制可大大缩短时间。二是垃圾回收机制保护程序的完整性,垃圾回收是 JAVA 安全策略的一个重要的部分。在 JAVA 语言中,判断一块内存是否符合垃圾收集器收集的标准要符合两个要求: 一:给对象赋予了 null ,以后再也没有调用过。 二:给对象赋予了新值,即重新分配了对象。
垃圾收集的常用算法:
1、引用计数法(Reference Counting Collector)
2、tracing算法(Tracing Collector)
3、compacting算法(Compacting Collector)
4、copying算法(Coping Collector)
5、generation算法(Generational Collector)
6、adaptive算法(Adaptive Collector)
0 0
- Java的垃圾回收机制
- Java的垃圾回收机制
- Java的垃圾回收机制
- java的垃圾回收机制
- Java的垃圾回收机制
- Java的垃圾回收机制
- java的垃圾回收机制
- JAVA 的垃圾回收机制
- java的垃圾回收机制
- Java的垃圾回收机制
- Java的垃圾回收机制
- JAVA的垃圾回收机制
- Java 的垃圾回收机制
- java的垃圾回收机制
- Java的垃圾回收机制
- java的垃圾回收机制
- java的垃圾回收机制
- Java的垃圾回收机制
- MIT_线性代数笔记_07_求解Ax=0:主变量、特解
- meta标签
- Bzoj 1031: [JSOI2007]字符加密Cipher(后缀数组)
- 《iOS10 开发指南-第 二章使用Xcode开发环境详解》
- 求最大公约数和最小公倍数
- JAVA 的垃圾回收机制
- java学习笔记
- SQL语句查询语句完整语法
- ACM程序设计题目 Problem W-23(未通过)
- [ARM]ldr和 adr/adrl 伪指令的区别
- 编程小记(解题思路,set,sort,最小表示法)
- latexit使用教程
- caddy 作为微服务的 API gateway
- iOS开发中的这些权限,你搞懂了吗?