import文はルートクラス指定とサブクラス指定では処理・モジュールサイズに影響するのでしょうか?
運営している掲示板からの転載です
手抜きってイウナーヽ(`Д´)ノ
**************************************
質問
**************************************
Javaのimport文ってありますよね?
import文はルートクラス指定とサブクラス指定では処理・モジュールサイズに影響するのでしょうか?
例えば、
(A)import java.util.Date;
と
(B)import java.util.*;
では、何かしらの変化があるのでしょうか?
import文はコンパイル時のクラスライブラリへの参照、という意味では
コンパイル速度への影響は考えられますが、実処理へは、、、どうなのでしょうか?
またこのことによるモジュールサイズには影響がおこりえますか?
(import文一行では変化がないかもしれませんが、大量の場合)
ご存知なかたいらっしゃいましたら、是非教えて頂けますようよろしくお願いいたします。
**************************************
回答
**************************************
バイトコードになってしまったら、まったく関係ありません。
なぜなら、オプティマイザがコンパイル時に
import java.util.*;
Date objDate;
とあれば
java.util.Date
と最適化してimport文は全部消去してしまいます。
ですから
A)import java.util.Date;
Date objDate;
B)import java.util.*;
Date objDate;
C)java.util.Date objDate;
の場合、最終的に全部Cの形に最適化されます。
あと、JAVAはスタティックリンクではないのでどのライブラリを参照しようがそれ自体のモジュールサイズは変わりません。