gla*_*kou 26 java import performance
什么是性能之间的复杂性
java.io.*
Run Code Online (Sandbox Code Playgroud)
和
java.io.File
Run Code Online (Sandbox Code Playgroud)
PS.
我知道第一个文件将包含每个文件,java.io.*下一个文件只包含选定的类文件.
Ste*_*n C 26
导入在编译时解析为完全限定名称.没有运行时性能差异.如果查看生成的字节码,它们将是相同的.
有可能是编译使用一种或另一种形式的时间开销,但它很可能是如此之小,没有人关心它.
我知道第一个文件将包含java.io.*中的每个文件,下一个文件只包含选定的类文件.
不完全是.明星导入的作用是使所有类名可用.实际的类本身并不是"包含"的......在C或c ++编程语言中.
许多人使用显式导入而不是通配符导入的真正原因是:
显式导入清楚地记录了类直接使用的外部类,前提是您不在代码中留下冗余导入.
显式导入可避免在导入包含具有相同(简单)类名的类的两个包时出现名称冲突的问题.
显式导入避免了脆弱性问题,其中有人将新类添加到您导入了通配符的某个包中.由于名称冲突,这可能导致以前用于编译的代码中出现新的编译错误(参见前面的内容).
现代IDE具有加速器,代码省略和其他功能,可帮助您在使用显式导入时控制导入.
小智 5
特定导入和通配符导入声明之间没有性能差异。
除非在程序中使用了该类,否则在编译时或运行时不会读取导入包中的类的信息。import 语句只是告诉编译器在哪里找到这些类。特定导入和通配符导入声明之间没有性能差异。
(Liang, Daniel Y.“计算机、程序和 Java 简介。”Java 编程简介。综合版。第 9 版。Np:Pearson,第 24 版。打印。)
| 归档时间: |
|
| 查看次数: |
8599 次 |
| 最近记录: |