[英]Are Java System.in/out/err always open?
Javadoc說in
, out
和err
'已經打開',我只是想知道它們在程序完成后會關閉嗎? 如果不是這樣,是否與使用后關閉任何I / O流引用的做法相抵觸?
System.in/out/err這些類是由JVM實例化的,而不是由我們實例化的。 因此,JVM將負責關閉它們。
stdin
, stdout
和stderr
在很大程度上是Unix概念,但是其他操作系統(例如Windows)也已經復制了該概念。 這些由系統維護,通常不關閉它們。
但是,您可以關閉它們,甚至在使用fork()
程序時也必須關閉它們,這是Unix方式,可將程序與命令行分離並在后台運行,例如守護程序。
System.in
/ out
/ err
遵循這一戰略。 因此,您可以關閉它們,但不必這樣做,因為它們是特殊的系統資源。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.