请问import java.util.*  这句代码的实现机制是什么?是不是 JVM找到操作系统的是path环境变量,然后找到C:\Program Files\Java\jre6\lib\rt.jar然后JVM Class Loader ?是这个过程吗?请高手给予解释一下,(*^__^*) 嘻嘻……

解决方案 »

  1.   

    import 是给编译器看的,不涉及jvm
      

  2.   


    编译的时候是没有疑问,可是执行的时候编译器就没关系了吧,总得JVM执行吧?那应该是寻找的path环境变量吧?我看我这环境变量不少呢,什么java,oracle,python的。应该都是这么个原理吧?嘿嘿~~~
      

  3.   

    编译之后的class文件里用的是类的全路径名,跟import无关了。
    jvm根据全路径名去寻找class文件或者jar包,至于如何寻找的,要区分不同的类加载器了。
      

  4.   

    就是这样
    你不 import, VM 照样找 rt.jar. import java.util.* 的意思是如果你输入 List x, 编译器会找到 java.util.List. 执行时就已经是全名了.
      

  5.   

    path 是你在命令提示符下使用时它去找你个java执行文件,classpath是编译器面对import时它并不知道你导入的类在那 它就会去classpath下面寻找。
      

  6.   

    compiler把java文件编译成字节码后,跟类有关的东西都加上了完整的路径,通过javap -c命令反汇编*.class文件,可以得知
      

  7.   

    其实不需要懂 只要知道用法就行了
     import java.util.*;   是在应用JAVA里面别人写好的util类里所有的方法就可以了!!