import * 和 单个import区别

淘淘我的小宝宝 发布于 2015/01/30 17:31
阅读 598
收藏 1
是否会影响执行效率?
加载中
0
南湖船老大
南湖船老大

效率问题其一,命名空间冲突其二。

比如 当你import java.awt.*;import java.util.*后,使用List的时候编译器将会出编译错误。因为两个包下都有List类。

执行效率的话,是有一点影响的,但不大。

抢小孩糖吃
抢小孩糖吃
命名空间稍微有点智商的ide都会提醒
0
淘淘我的小宝宝
淘淘我的小宝宝
编译效率,执行效率...给个权威说法
0
疯狂的小企鹅
疯狂的小企鹅
会弄脏命名空间。
淘淘我的小宝宝
淘淘我的小宝宝
这个是的,关键是领导说会影响执行效率我就不解了。这又不是include.
0
quanwei9958
quanwei9958
恩! 领导,你说的对
淘淘我的小宝宝
淘淘我的小宝宝
嗯,你会哄好领导哈。
0
月影又无痕
月影又无痕

我觉得执行效率上,应该是以讹传讹而已——大多的原因可能是,import pct.* 会导入包下所有的类?

事实上真是这样的吗?我看未必。java编译器发展至今,这些优先应该是可以考虑到的——只会导入使用到的类?

0
黑牙菜菜
黑牙菜菜
反编译下就知道,只影响编译效率
0
抢小孩糖吃
抢小孩糖吃
只影响编译效率,其实相对编译效率影响不大,你领导可能还停留在c c++思维上,引用类库会在编译的时候全部载入。而且二者编译链接慢
淘淘我的小宝宝
淘淘我的小宝宝
确实,我们这都是c背景的,java是半路子。include直观影响了import的印象。
0
m
model
影响在于类加载。也就是java虚拟机的内存分配中类的加载在permGen区。一般没啥影响,但是在一下比较大的工程中,由于加载了太多的类,出现permGen的内存不足!!
淘淘我的小宝宝
淘淘我的小宝宝
你的意思是*号这种情况会把该包路径下的所有类都加载?
0
梁金堂
梁金堂
import 只是告诉编译器,使用的类可以从哪里找.编译之后各类和接口都带完整的包名的.不懂的可以看看字节码.
0
王金豆
王金豆
编译的时候会有影响,执行没有影响
返回顶部
顶部