2009-08-18 60 views
3

我可以刪除任何隱式導入的Java庫嗎? 這看起來可能不太有用。 但我認爲這可能會減少一些執行時間!我可以刪除任何隱式導入的Java庫嗎?

+1

你是什麼意思隱式導入Java庫? – 2009-08-18 14:32:21

+0

like java.lang 我可能不想要它的所有類! – RubyDubee 2009-08-18 14:33:57

回答

22

進口只是句法糖。他們所做的一切就是讓你訪問其他軟件包中的東西,而無需聲明其完全限定的名稱。生成的代碼與完全符合所有條件的代碼完全相同。因此,導入時沒有運行時性能損失。

這也適用於「隱式導入」(即:java.lang):您不支付任何實際使用的類的價格。

+0

ya!謝謝大家! 我不知道進口不加載所有類! – RubyDubee 2009-08-18 14:42:03

+2

優秀的答案 - 簡潔但非常清晰 – Jonik 2009-08-18 14:49:23

4

這對執行類型沒有任何影響 - 我認爲我是正確的,默認情況下,類只在需要時加載,而不是在啓動時加載。

爲了提高性能,您需要使用類似Visual VM這樣的工具來分析您的應用程序,並解決其識別的瓶頸問題(該問題永遠不會在您期望的位置)。

3

Java不包含程序中java.lang。*中的所有類。編譯器只包含你明確使用使用(或使用,使用等等)。