A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 韩国军 中级黑马   /  2012-5-15 13:53  /  3129 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在导入类时,使用通配符"*"和不用通配符"*"(将使用到的每个类一个一个都导入),对性能有没有影响?

评分

参与人数 1技术分 +1 收起 理由
攻城狮 + 1 加油喔··

查看全部评分

8 个回复

倒序浏览
%JAVAHOME%\jre\lib\rt.jar

*会到包中所有的类去找  当然是地址越详细找的越快了

但是我个人感觉应该对性能影响忽略不计  计算机这种小计算数据很快的 眨眼不到{:soso_e120:}
回复 使用道具 举报
越详细越好,如果是*,计算机会在所在目录顺序查找,会浪费掉一些时间,但是用*会减少很多代码量,所以如果楼主导入的相同目录的包很多的话建议用*,如果只有一两个的话建议直接列出来,看你选择了!!
回复 使用道具 举报
建议,不要写通配符 *,需要用到包中的哪个类,就导入那个类——by 毕老师
如果只用包中一个类这样就比较占内存空间,不过用eclipse就很方便了,一个快捷键就哦了——同样by老毕,本人翻译了一下
回复 使用道具 举报
在实际的开发中,最好是需要那个包,就调用哪个包,尽量少用通配符,这样可以提高开发的效率
回复 使用道具 举报
个人理解
import 主要是简化书写
但是 是不是有可能该类在被导入的时候就已经被加载到方法区
如果是 我仅仅需要一个类 但是全把一个包下所有的类都加载进来了 就有点点小浪费了

而且使用Eclipse 直接Ctrl+Shift+O就可以完成自动导包 很方便 没必要 *全部导入
像毕导说的 我只用一个类 你给我导入七八个 十几个有必要吗?
期待高手深入剖析~!
回复 使用道具 举报
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
import java.util.TreeMap;
----------
import java.util.*
-------------------------
其实影响不大,感觉我们敲这些小程序,好像没什么区别,但是可能以后程序大的话最好还是越详细越好
回复 使用道具 举报
王杰 黑马帝 2012-5-16 08:54:40
8#
一般的项目还考虑不到导入引起的性能问题,但是可以肯定的就是单类型导入比隐式类型导入性能更快!
下面是类的查找顺序:
1,该类本身及其嵌套类型;
2,单类型导入;
3,该类所在包;
4,隐式类型导入;
回复 使用道具 举报
徐炯 中级黑马 2012-5-16 10:35:04
9#
别的我不知道,在对日外包开发中,明令禁止使用通配符!需要那个包,就调用哪个包,这是最基本的编码规范。不是能通过编译或者不影响性能,就可以随意编代码。开发中,最重要的是让别人能看懂你的程序,要让你的程序让别人看的更舒服。
lz就别再为这纠结了,通配符能不用就不用,代码可读性太差。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马