java虚拟机垃圾回收的几个特点
来源:互联网 发布:为什么淘宝助理打不开 编辑:程序博客网 时间:2024/06/07 06:28
JVM的几个特点
java语言规范并没有明确的说明JVM使用哪种垃圾回收算法,但是任何一种垃圾回收算法一般要做两件基本的事情:发现无用的对象;回收被无用对象占用的内存空间,是该空间可被程序再次使用。
通常,垃圾回收具有如下几个特点:
- 垃圾回收机制的工作目标是回收无用对象的内存空间,这些空间都是JVM堆内存里的内存空间,垃圾回收只能回收内存资源,对其他物理资源,如数据库连接、磁盘IO等资源则无能为力
- 为了尽快的让垃圾回收机制回收那些不在使用的对象,可以将该对象的引用变量设置成null,通过这种方式暗示垃圾回收机制可以回收该对象
- 垃圾回收机制的不可预知性。由于不同的JVM使用了不同的垃圾回收机制和算法,因此它有可能是定时发生的,有可能是CPU空闲时发生的,也有可能和原始的垃圾回收一样,等待内存消耗出现极限时发生,这和垃圾回收机制的选择及具体的设置都有关系 虽然程序员可以通过调用对象的finalize()方法或System.gc()方法来建议系统进行垃圾回收,但是这种调用仅仅是建议,依然不能精确的控制垃圾回收机制的执行
- 垃圾回收机制的精确性主要体现着两个方面:一是垃圾回收机制能够精确的标记活着的对象;二是垃圾回收机制能够精确地定位对象之间的引用关系。前者是完全回收废弃对象的前提,否则就有可能造成内存泄露,而后者是实现归并和复制等 算法的必要条件,通过这种引用关系,可以保证所有的对象都能被可靠的回收,所有的对象都被重新分配,从而有效的减少内存碎片的产生
- 现在的JVM有多种不同的垃圾回收实现,每种回收机制引起算法的差异,有的当垃圾回收开始时就停止应用程序的运行,有的当垃圾回收机制允许应用程序线程的运行,还有的同一时间允许垃圾回收多线程运行
当编写java程序时,一个基本原则是:对于不再需要的对象,不要饮用它们。如果保持这些对象的引用,垃圾回收机制暂时不会回收这些对象,则会导致系统可用的内存越来越少;当系统可用的内存越来越少时,垃圾回收执行的频率就越来越高,从而导致系统的性能的下降。
2 0
- java虚拟机垃圾回收的几个特点
- Java虚拟机垃圾回收的几个关键问题
- java的垃圾回收机制的特点
- JAVA 垃圾回收器的特点
- java虚拟机------垃圾回收
- Java虚拟机垃圾回收
- java虚拟机-垃圾回收
- java虚拟机垃圾回收
- Java虚拟机垃圾回收
- java虚拟机垃圾回收
- Java虚拟机的JVM垃圾回收机制
- java虚拟机的垃圾回收机制 .
- Java虚拟机的JVM垃圾回收机制
- Java虚拟机的JVM垃圾回收机制
- Java虚拟机的JVM垃圾回收机制
- Java虚拟机的JVM垃圾回收机制
- java虚拟机的垃圾回收机制
- Java虚拟机的JVM垃圾回收机制
- ZigBee EmberZNet Bootloader介绍及外挂Flash OTA时修改Bootloader的方法
- HDU4545 魔法串 字符串处理
- Lcx的多种用法:3个功能+9个参数
- 九大基础排序总结与对比
- 程序员必读书籍排行榜
- java虚拟机垃圾回收的几个特点
- Error converting bytecode to dex:Dex cannot parse version 52 byte code
- Android网络请求框架AsyncHttpClient详解(整理)
- java开发总结
- python环境搭载和安装库文件
- Mysql 查看连接数,状态 最大并发数(赞)
- C# 委托delegate
- Oracle报错之INS-13001
- Android wifi搜索与连接