一尘不染

Java导入与代码性能

java

我想知道import我的Java程序中是否包含很多代码,这会影响代码的性能吗(例如,程序会变慢)?importJava中的逻辑与includeC中的逻辑相同吗?


阅读 303

收藏
2020-09-08

共1个答案

一尘不染

它会影响我的代码的性能吗(例如,程序会更慢)?

不,这不会影响代码的性能。

二进制文件(类文件)的大小不会增加,因为导入 没有 使用任何剪切和粘贴机制来实现。

例如,它只是避免必须写的语法糖

java.util.List<java.math.BigInteger> myList =
        new java.util.ArrayList<java.math.BigInteger>();

这是一个小测试,证明了这一点:

aioobe@e6510:~/tmp$ cat Test.java 
import java.util.*;

public class Test {
    public static void main(String[] args) {
        List<Integer> myInts = new ArrayList<Integer>();
    }
}
aioobe@e6510:~/tmp$ javac Test.java
aioobe@e6510:~/tmp$ md5sum Test.class 
523036e294b17377b4078ea1cb8e7940  Test.class

(修改中Test.java

aioobe@e6510:~/tmp$ cat Test.java


public class Test {
    public static void main(String[] args) {
        java.util.List<Integer> myInts = new java.util.ArrayList<Integer>();
    }
}
aioobe@e6510:~/tmp$ javac Test.java
aioobe@e6510:~/tmp$ md5sum Test.class 
523036e294b17377b4078ea1cb8e7940  Test.class

Java中导入背后的逻辑与C中包含的逻辑相同吗?

否,an #include是预处理程序指令,并通过剪切和粘贴机制实现。

2020-09-08