`
jjhpeopl
  • 浏览: 108642 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

垃圾回收的两点三共四标

阅读更多

java的垃圾回收主要是来解决两个问题的:

1、找到内存空间里的垃圾

2、回收垃圾,让程序能再次利用这部分空间

 

这里插一句解释什么是垃圾:就是分配到堆中的那些不能通过程序引用的对象称为非活动对象,也即是占着坑不拉屎的垃圾。

 

处理这些垃圾的算法也有几种:标记清除算法、复制算法、分代算法等

 

这些算法都是在解决以下三个问题:

1、如何分辨出哪些是垃圾

2、如何、何时搜索垃圾

3、如何、何时清除垃圾

 

若是对算法进行选择,就要依赖以下四个标准:

1、吞吐量:单位时间内的处理能力

2、最大暂停时间:GC执行过程中,应用暂停的时长。较大的吞吐量和较短的最大暂停时间不可兼得。

3、堆的使用效率:就是堆空间的利用率。可用的堆越大,GC运行越快;相反,越想有效地利用有限的堆,GC花费的时间就越长。

4、访问的局部性:把具有引用关系的对象安排在堆中较近的位置,就能提高在缓存中读取到想利用的数据的概率。

0
0
分享到:
评论
1 楼 liubey 2017-02-17  
自己总结的?不错~

相关推荐

    java面试宝典

    有什么办法主动通知虚拟机进行垃圾回收? 12 39、String s=new String(“xyz”);创建了几个String Object? 12 40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?...

    【05-面向对象(下)】

    则需要提供一个public方法作为该类的访问点,用于创建该类的对象,且必须使用static修饰  –3.该类还必须缓存已经创建的对象,必须用static修饰 final变量 •final修饰变量时,表示该变量一旦获得 ...

    C# 语言规范 版本5.0中文.pdf

    有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用 的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类 型安全 ...

    C#语言规范4

    有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类型安全 (type...

    C# 4.0语言规范

    有助于构造健壮、持久的应用程序的若干 C# 特性:垃圾回收 (Garbage collection) 将自动回收不再使用的对象所占用的内存;异常处理 (exception handling) 提供了结构化和可扩展的错误检测和恢复方法;类型安全 (type...

    操作系统(内存管理)

    文中将为您提供如何管理内存的细节,然后将进一步展示如何手工管理内存,如何使用引用计数或者内存池来半手工地管理内存,以及如何使用垃圾收集自动管理内存。 为什么必须管理内存 内存管理是计算机编程最为基本的...

    resin-jvm 调优

    1.JVM的gc概述 gc即垃圾收集机制是指...在设置了上述参数后可以通过Visualgc 来观察垃圾回收的一些参数状态,再做相应的调整来改善性能。一般的标准是减少fullgc的次数,最好硬件支持使用并行垃圾回收(要求多CPU)。

    内存管理内存管理内存管理

    C 编程语言提供了两个函数来满足我们的三个需求: malloc:该函数分配给定的字节数,并返回一个指向它们的指针。如果没有足够的可用内存,那么它返回一个空指针。 free:该函数获得指向由 malloc 分配的内存片段...

    超级有影响力霸气的Java面试题大全文档

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 16、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)...

    java基础题 很全面

    有什么办法主动通知虚拟机进行垃圾回收? 14 59. 静态变量和实例变量的区别? 14 60. 什么是java序列化,如何实现java序列化? 14 61. 是否可以从一个static方法内部发出对非static方法的调用? 14 62. 写clone()方法时,...

    Java经典入门教程pdf完整版

    晑性能、可靠的、解释型、自动垃圾回收等特点。 这里只解释一下平台无关和分布式,其余的在后面会逐步接触到 3:平台无关 所谓平台无关指的是:用Java写的程序不用修改就可在不同的软硬件平台上运行。这 烊就能实现同样...

    千方百计笔试题大全

    有什么办法主动通知虚拟机进行垃圾回收? 12 39、String s=new String(“xyz”);创建了几个String Object? 12 40、接口是否可继承接口? 抽象类是否可实现(implements)接口? 抽象类是否可继承实体类(concrete class)?...

    java面试题

    有什么办法主动通知虚拟机进行垃圾回收? 42 63.1. 判断该对象是否是时候可以收集方法 43 63.1.1. 引用计数 43 63.1.2. 对象引用遍历 43 63.2. 几种垃圾回收机制 43 63.2.1. 标记-清除收集器 43 63.2.2. 标记-压缩...

    java 面试题 总结

    finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等。 13、sleep() 和 wait() 有什么区别? sleep是线程类(Thread)的...

    针式PinPKM-V201506(免费无使用限制)

    针式PKM主要由主界面和知识点 两个画面组成, 主界面粗看上像很杂,实际上分作有规律的几块,是为了帮助您更快的完成日常操作。 可以先看看帮助视频,然后随便操作看看 。 3.2 第二步:导入本机上现有的文件 ...

    PinPKM-V201525(官网发布的最后一个免费无使用限制版本)

    针式PKM主要由主界面和知识点 两个画面组成, 主界面粗看上像很杂,实际上分作有规律的几块,是为了帮助您更快的完成日常操作。 可以先看看帮助视频,然后随便操作看看 。 3.2 第二步:导入本机上现有的文件 ...

    大学生网络安全报告.doc

    对于安全管理的技术 措施, 调查问卷中列出了: 垃圾邮件、病毒攻击、账号信息被盗等, 有86人了解列表中垃圾邮件一项, 有46人知道病毒攻击, 32人知道有信息被盗这项安全问题, 还有23人完全不知道或者不清楚。...

    Java面试宝典2010版

    有什么办法主动通知虚拟机进行垃圾回收? 80、什么时候用assert。 81、java中会存在内存泄漏吗,请简单描述。 82、能不能自己写个类,也叫java.lang.String? 83. Java代码查错 二. 算法与编程 1、编写一个程序...

    最新Java面试宝典pdf版

    有什么办法主动通知虚拟机进行垃圾回收? 52 80、什么时候用assert。 53 81、java中会存在内存泄漏吗,请简单描述。 53 82、能不能自己写个类,也叫java.lang.String? 57 83. Java代码查错 57 二. 算法与编程 61 1...

Global site tag (gtag.js) - Google Analytics