Prashant Deva 的人發現在Java 5.0的java.io.PrintStream中有這樣一段代碼: protected void setError() { trouble = true; try { throw new IOException();} catch (IOException x) {} } 注意這段代碼中 try.." name="description" />
一個叫java-io-is-slow.html" target=_blank>Prashant Deva的人發現在Java 5.0的java.io.PrintStream中有這樣一段代碼:
protected void setError() {
trouble = true;
try { throw new IOException();} catch (IOException x) {}
}
注意這段代碼中 try...catch 除了空耗系統資源之外毫無意義。這樣的代碼隱藏在系統底層,頻頻使用,還伴隨我們這么久,未免讓人啼笑皆非。善意的猜測是,某位程序員本想在try block添加一些代碼,于是先寫下這些stub,之后居然忘了,留下笑柄。惡意的揣度則完全是一場逃脫了code review的惡作劇。
不過我手上并沒有Java 5.0,而在Java 6.0的source中,我看到這個惡作劇已經被清除。
看來Java的io不僅僅是花哨而已呢!
原文轉自:http://www.anti-gravitydesign.com