终结者导致可移植性问题 - 如何?

时间:2015-08-03 20:06:53

标签: java finalizer

有效的Java第7项说,终结器会导致可移植性问题。

  

终结器是不可预测的,通常是危险的,而且通常是不必要的。   它们的使用会导致不稳定的行为,性能不佳和可移植性问题。

但我无法理解Java与平台无关,终结器如何导致可移植性问题?

1 个答案:

答案 0 :(得分:4)

终结器通常包含释放非JVM(系统)资源的代码。如果资源管理委托给他们,他们会创建非常不寻常的资源生命周期模式(大量不必要的开放资源+一次释放数千个资源)。这确实听起来很危险,并且在每个未经测试的平台上都会造成不可预测的破坏威胁。