Cleaner cleaner
时间: 2023-11-13 20:05:25 浏览: 149
Cleaner 是 JDK 内部的一个类,用于在对象被垃圾回收时执行一些清理操作。Cleaner 类是在 JDK 9 中引入的,并且只能被 JDK 内部使用,不能直接在应用程序中使用。
在 JDK 9 之前,如果需要在对象被垃圾回收时执行一些清理操作,一般可以使用 finalize() 方法来实现。但是 finalize() 方法的执行时机是不确定的,而且可能会导致性能问题。Cleaner 类提供了一种更可靠、更高效的清理机制,它可以保证清理操作在对象被垃圾回收时立即执行,从而避免了 finalize() 方法的问题。
在 DirectByteBufferUtil 类中,我们使用反射来获取 DirectByteBuffer 对象内部的 Cleaner 对象,并调用其 clean() 方法来释放堆外内存。这样做的好处是可以保证及时释放堆外内存,并且不需要关心具体的清理时机。Cleaner 类的工作原理是,它会注册一个本地线程清理器(Local Thread Cleaner),当对象被垃圾回收时,清理器会在本地线程上执行清理操作,从而保证清理操作的及时性和可靠性。
相关问题
APP cleaner
App Cleaner是一款专业的应用程序卸载工具,适用于Mac系统平台。它集成了应用卸载、扩展管理、开机管理、残留文件清理、默认APP设置等功能,简单易用,快捷。\[1\]这款软件可以帮助用户完美清除系统中的垃圾文件,并且在文件扫描和应用信息识别方面表现出色。\[2\]它还可以帮助用户彻底清除卸载不掉的顽固文件和应用程序,确保它们不会占用Mac上的宝贵空间。\[3\]总的来说,App Cleaner是一款安全高效的苹果应用程序清理卸载软件。
#### 引用[.reference_title]
- *1* *2* [App Cleaner & Uninstaller for mac(Mac电脑清理卸载应用)](https://blog.csdn.net/m0_72498124/article/details/129780487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [App Cleaner & Uninstaller Pro for Mac(苹果应用程序清理卸载软件)](https://blog.csdn.net/Mac_mimi/article/details/115331428)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文