我正在阅读Effective Java书籍,并在第7项中找到了以下内容: 避免使用终结器部分:
引用四个类作为显式终止方法模式的示例 (FileInputStream,FileOutputStream,Timer和Connection)具有终结器 在没有调用终止方法的情况下作为安全网。不幸的是,这些终结器不会记录警告。 这种警告一般不可能 在API发布后添加,因为它似乎会破坏现有客户端。
我的问题是怎么样?我能想象到的唯一方法是,如果客户端正在解析java进程的输出,那么这些额外的警告会以某种方式破坏它们的解析。
这有不同的原因。
答案 0 :(得分:0)
实际上,我想我知道为什么。这本书说:
显示来打破现有客户
我认为这里暗示的是,到目前为止运行良好的客户将突然开始发出警告信息,并且随机时间也是如此,因为警告来自终结器方法。这会使客户看起来好像出了问题。
这里的关键是“出现”一词。我想不出客户逻辑实际上会因此而中断的情况,只是似乎打破了。