我知道這可能會向下投票這個使用.close()是困擾我很多爲什麼我以往任何時候都需要在資源
我已經閱讀.close所有文章()方法類似
explain the close() method in Java in Layman's terms
Why do I need to call a close() or shutdown() method?
the usage of close() method(Java Beginner)
我有這些問題可能顯得太微不足道了
1.什麼呢詞「資源」恰恰意味着(是文件或「FileWriter的」對象或其他一些東西)(嘗試儘可能廣泛地解釋)
讓我們考慮下面的代碼
import java.io.*;
public class characterstreams
{
public static void main(String []args) throws Exception
{
File f=new File("thischaracter.txt");
FileWriter fw=new FileWriter(f);
char[] ch={'a','c','d'};
fw.write('a');
fw.write(ch);
fw.write("aaaa aaaaa aaaaaaa");
fw.flush();
FileReader fr=new FileReader(f);
int r=fr.read();
System.out.println(r);
char[] gh=new char[30];
System.out.println(fr.read(gh));
}
}
編譯和執行它
ģ後:/>的java characterstreams
可以說,資源是FileWriter的下方(因爲我還沒有得到資源的意思)
JVM啓動並打開了所謂的資源,然後執行完成和JVM獲取之後,其執行後關閉
2.it解鎖,因爲它已經打開是不對的運行資源(糾正我,如果我錯了)
G:/>
在這一點上是JVM沒有運行
3.before書亭下來,垃圾收集器被稱爲是嗎?(糾正我,如果我錯了),這樣的FileWriter對象被摧毀 那麼,爲什麼我們應該關閉,我們已經開闢了
的所有資源和
4.again我讀了'資源被泄漏'這是什麼意思..?
您正在考慮一個小而獨立的示例。無數的案例不適用。如果程序的一部分無限期地駐留在內存中(例如守護程序線程)會怎樣?或者,如果由於應用程序終止「不正確」而導致受影響的文件系統資源處於不一致狀態?等等 – Mena
@Mena資源究竟意味着什麼...我已冒險投下所以試着解釋我...... – viru
資源是由操作系統(磁盤訪問,套接字...)提供的, – mvera