例如,Scanner类,它实现Closeable接口:
Scanner
Closeable
Scanner sc = new Scanner(...); sc.//do smthing sc = new Scanner(...); <- is previous Scanner closed? Does it create memory leak? sc.//do smthing sc.close();
发布于 2021-12-22 11:31:32
不,除非您显式地调用sc.close(),或者在尝试与资源块中对其进行范围设置,否则无法保证它将被关闭。有些类可能有终结器或关联的Cleaner,但它们非常不可靠(例如,您永远不知道何时或是否会被调用)。
sc.close()
Cleaner
https://stackoverflow.com/questions/70448041
相似问题