Java包導入機制的研究與解析

  單類型導入比較好了解, 而對於按需類型導入, 看名字就曉得, 他只會按需導入, 也就是說它並不是導入整個包, 而僅僅導入之後類須要使用的類。 java編譯器會從啓動目錄(bootstrap), 擴展目錄(extension)和用戶類途徑下去定位須要導入的類, 而這些目錄進僅僅是給出了類的頂層目錄。 編譯器的類文件定位方法大體能夠了解爲以下公式:  對於單類型導入很簡單, 因此能夠一次性查找定位。   對於按需類型導入則比較複雜, 編譯器會把包名和文件名中止陳列組合, 而後對一切的可能性中止類文件查找定位。 例如:  當你的類文件中用到了File類, 那麼可能出現File類的中央以下  File\\File類屬於無名包, 就是說File類沒有package語句, 編譯器會首先搜索無名包  須要留意的中央就是, io. File類以後並不會停止下一步的尋覓, 而要把一切的可能性都查找完以肯定可否有類導入衝突。 假設此時的頂層途徑有三個, 那麼編譯器就會中止35=15次查找。   留意:若是在查找完成後, 編譯器發現了兩個同名的類, 那麼就會報錯。 而後再編譯。   瞭解以上原理以後, 但會影響到Java代碼的編譯速度。 提升編譯速度。 使用單類型導入會使用你的import語句看起來很長。java

相關文章
相關標籤/搜索