簡體   English   中英

Java System.in/out/err總是打開嗎?

[英]Are Java System.in/out/err always open?

Javadoc說inouterr '已經打開',我只是想知道它們在程序完成后會關閉嗎? 如果不是這樣,是否與使用后關閉任何I / O流引用的做法相抵觸?

System.in/out/err這些類是由JVM實例化的,而不是由我們實例化的。 因此,JVM將負責關閉它們。

stdinstdoutstderr在很大程度上是Unix概念,但是其他操作系統(例如Windows)也已經復制了該概念。 這些由系統維護,通常不關閉它們。

但是,您可以關閉它們,甚至在使用fork()程序時也必須關閉它們,這是Unix方式,可將程序與命令行分離並在后台運行,例如守護程序。

System.in / out / err遵循這一戰略。 因此,您可以關閉它們,但不必這樣做,因為它們是特殊的系統資源。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM