从Java 9开始,Finalizer机制已被弃用,但仍被Java类库所使用。 Java 9中 Cleaner机制代替了Finalizer机制。 Cleaner机制不如Finalizer机制那样危险,但仍然是不可预测,运行缓慢并且通常是不必要的。Finalizer机制线程的运行优先级低于其他应用程序线程,所以当对象被回收的速度低于进入队列的速度时,将可能出现内存溢出。在Java中,try-with-resources或try-finally块可代替此目的。
EffectiveJava08-避免使用Finalizers和Cleaners
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
相关阅读更多精彩内容
- Finalizers是不可预测的,通常是危险的,一般来说是没有必要的。它们的使用可能会造成不稳定的行为,不佳的...
- Finalizer是不可预测的,常常是危险的,而且通常来说是不必要的。它的使用会引起不稳定的行为、糟糕的性能和可移...
- Java规范不能保证Finalizer和Cleaner机制能及时运行, 甚至不能能保证它们一定会运行。[JLS,1...
- 为了长久稳健发展,打造规范和谐的市场环境,微店长是市场的榜样,请所有微店长共同遵守以下公约。 [炸弹]不上淘宝和一...