从Java 9开始,Finalizer机制已被弃用,但仍被Java类库所使用。 Java 9中 Cleaner机制代替了Finalizer机制。 Cleaner机制不如Finalizer机制那样危险,但仍然是不可预测,运行缓慢并且通常是不必要的。Finalizer机制线程的运行优先级低于其他应用程序线程,所以当对象被回收的速度低于进入队列的速度时,将可能出现内存溢出。在Java中,try-with-resources或try-finally块可代替此目的。
EffectiveJava08-避免使用Finalizers和Cleaners
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- Finalizers是不可预测的,通常是危险的,一般来说是没有必要的。它们的使用可能会造成不稳定的行为,不佳的...
- Finalizer是不可预测的,常常是危险的,而且通常来说是不必要的。它的使用会引起不稳定的行为、糟糕的性能和可移...
- Java规范不能保证Finalizer和Cleaner机制能及时运行, 甚至不能能保证它们一定会运行。[JLS,1...
- 为了长久稳健发展,打造规范和谐的市场环境,微店长是市场的榜样,请所有微店长共同遵守以下公约。 [炸弹]不上淘宝和一...