垃圾回收器的特性
- 该回收的对象一定要回收,不该回收的对象一定不能回收
- 一定要有效,并且要快!尽可能少的暂停应用的运行
- 需要在时间,空间,回收频率这三个要素中平衡
- 内存碎片的问题(一种解决内存碎片的方法,就是压缩)
- 可扩展性和可伸缩性(内存的分配和回收,不应该成为跑在多核多线程应用上的瓶颈)
对垃圾回收器的选择
连续 VS. 并行
连续垃圾回收器,即使在多核的应用中,在回收时,也只有一个核被利用。
但并行GC会使用多核,GC任务会被分离成多个子任务,然后这些子任务在各个CPU上并行执行。
并行GC的好处是让GC的时间减少,但缺点是增加了复杂度,并且存在产生内存碎片的可能。
并发 VS. stop-the-world
当使用stop-the-world 方式的GC在执行时,整个应用会暂停住的。
而并发是指GC可以和应用一起执行,不用stop the world。
一般的说,并发GC可以做到大部分的运行时间,是可以和应用并发的,但还是有一些小任务,不得不短暂的stop the world。
stop the world 的GC相对简单,因为heap被冻结,对象的活动也已经停止。但缺点是可能不太满足对实时性要求很高的应用。
相应的,并发GC的stop the world时间非常短,并且需要做一些额外的事情,因为并发的时候,对象的引用状态有可能发生改变的。
所以,并发GC需要花费更多的时间,并且需要较大的heap。
压缩 VS. 不压缩 VS. 复制
在GC确定内存中哪些是有用的对象,哪些是可回收的对象之后,他就可以压缩内存,把拥有的对象放到一起,并把剩下的内存进行清理。
在压缩之后,分配对象就会快很多,并且内存指针可以很快的指向下一个要分配的内存地址。
一个不压缩的GC,就原地把不被引用的对象回收,他并没有对内存进行压缩。好处就是回收的速度变快了;缺点呢,就是产生了碎片。
一般来说,在有碎片的内存上分配一个对象的代价要远远大于在没有碎片的内存上分配。
另外的选择是使用一个复制算法的GC,他是把所有被引用的对象复制到另外一个内存区域中。
使用复制GC的好处就是,原来的内存区域,就可以被毫无顾忌的清空了。但缺点也很明显,需要更多的内存,以及额外的时间来复制。
分享到:
相关推荐
通过AE-2M-3043_GC2053_CSP_Datasheet_Release_V11_20181212.pdf文档,我们可以深入了解GC2053的电气特性、接口规范、封装信息以及应用建议。 GC2053的封装方式是CSP(Chip Scale Package),这种封装技术可以减小...
GC2093 CMOS Image Sensor Data...GC2093 的直流特性包括: * 输入电压:3.3V * 工作电流:150mA * 供电电压范围:2.97V ~ 3.47V GC2093 是一款功能强大、性能优异的 CMOS 图像传感器,适合各种图像采集应用场景。
* 交流特性:GC02M1的交流特性包括频率响应、信号-to-噪声比等 * 功耗:GC02M1的功耗取决于操作模式和供电电压 3. 封装规格 GC02M1的封装规格包括: * 封装类型:CSP(Chip Scale Package) * 封装尺寸:1/5英寸 *...
GC4023 CMOS图像传感器数据手册 GC4023是一款高性能的CMOS图像传感器,用于capturing...GC4023 CMOS图像传感器是一款高性能的图像传感器,具有高分辨率、低噪音和高灵敏度的特点,广泛应用于各种图像采集和处理领域。
标题 "GC6153_SERIAL_GC6153" 指向的是一款基于MTK(MediaTek)平台的驱动程序,专为控制SPI接口的GC6153芯片而设计。这款驱动程序的主要功能是确保GC6153芯片在系统中能够正确地被初始化、配置和操作,从而实现其...
GC2145是一种单片CMOS图像传感器,具有高灵敏度和低噪声特性。该传感器采用CMOS工艺制造,具有高速图像采集能力和低功耗特性。 Features GC2145具有以下特点: * 高分辨率:UXGA(1600x1200)分辨率 * 高速图像...
格科微是一家专注于半导体图像传感器和显示驱动芯片设计的公司,其GC6153是一款适用于各种消费类电子产品的液晶显示控制器。这款控制器支持SPI(Serial Peripheral Interface)接口,这是一种常见的串行通信协议,常...
本文将深入探讨针对RK3368平台的GC5025摄像头的驱动程序,基于提供的"GC5025.tar.gz"压缩包文件,我们将解析其核心内容,理解其工作原理以及如何进行驱动的安装与调试。 GC5025是一款500万像素的CMOS图像传感器,...
摄像头GC2145是一种常见的数字摄像头芯片,广泛应用于各种监控设备、网络摄像头以及电脑摄像头等产品中。本文将深入探讨GC2145的核心知识点,包括寄存器初始化配置和数据手册,以及如何利用C语言进行编程。 一、GC...
4. **选择合适的GC策略**:根据应用类型和性能要求,选择最适合的垃圾收集策略。 总之,GCviewer是Java开发者不可或缺的工具,它能帮助我们更好地理解和改善应用程序的内存性能。熟练掌握GCviewer的使用,对于优化...
3. 结构和光学特性:描述了传感器阵列中心、色彩滤镜的光谱特性以及像素阵列结构。 4. 引脚描述:说明了GC0339传感器的引脚分配和信号描述。 5. 两线串行总线通信协议及定时说明。 6. 电源开启与关闭序列。 7. 时序...
GC4663 的直流特性如下: * Power Down Current:典型值为 1mA * Standby Current:典型值为 0.5mA * Operation Current:典型值为 10mA * DC Characteristics:符合 CMOS 图像传感器的标准规格 AC ...
GC2053是一款基于CMOS技术的图像传感器,具有高灵敏度和低噪音特性。该传感器具有高达2Mega像素的分辨率,能够满足多种图像采集应用场景的需求。 Features: GC2053具有以下特点: * 高达2Mega像素的分辨率 * ...
该软件以其高效、精准的特性在业界广受好评。2019gc2000.rar这个压缩包文件包含了一个经过测试的完美中文版本,无需注册或解压即可直接使用,为用户提供了极大的便利。 首先,让我们深入了解GC-PowerStation的核心...
【标题】"gc2355_mipi_raw_摄像头gc2355驱动_" 指的是一个针对特定型号摄像头GC2355的驱动程序,该驱动是...开发人员在使用和修改这个驱动时,需要对MIPI协议、嵌入式系统驱动开发、以及GC2355传感器的特性有深入理解。
GC0308的引脚描述部分详细介绍了CSP封装的布局、球引脚分配以及芯片引脚的功能,对于电路设计至关重要。 总之,GC0308是一款功能全面、性能优越的CMOS图像传感器,适用于从消费电子到专业应用的广泛场景。其详细的...
其高性能与低功耗功能的全面集成,使其成为运动摄像机、车载记录仪和各种移动应用的理想选择。GC2023能够提供RAW10和RAW8数据格式,并带有MIPI接口。它还配备了常用的两线串行接口,供主机控制整个传感器的操作。 ...
### GC0329 CMOS 图像传感器技术详解 #### 一、传感器概述 ##### 1.1 一般描述 ...综上所述,GC0329是一款高度集成化的CMOS图像传感器,具有优异的图像质量和多功能特性,非常适合于各种移动设备和其他应用场合。
CCM-PACKAGE CSP-GC0306.pdf进一步扩展了对封装特性的描述,特别是关于彩色摄像模块(CCM)的应用,表明GC0306适用于摄像头模组,可能用于手机、监控摄像头等设备的图像捕捉。 gc0306_datasheet_200708.pdf是较早...