« 上一篇下一篇 »

Java解释器的工作

首先,它要找到classpath环境变量(这是通过操作系统设置的,有时Java安装程序或者Java工具的安装程序会为你设置)。Classpath包含了一个多个目录,这些目录会被当做根目录供Java搜索.class文件。从这个根目录出发,解释器会将package名字里的每个点都换成斜杠(因此,根据操作系统的不同,package foo.bar.baz就被转换成foo\bar\baz,或者其他可能的形式),这样它生成了以classpath为根的相对路径。然后这些路径再与classpath里的各条记录相连。这才是Java用package的名字寻找.class文件的地方。此外,它还会根据Java解释器所在的位置查找一些标准目录。

当编译器碰到了simple类库的import语句的时候,它就开始在classpath所给出的目录下搜索,先找到com目录,再找编译后的文件(vecto就找vector.class,list就找list.class)。注意vector和list类,以及其中要用的方法都必须是public的。对Java的初学者来说,设置classpath曾经是一桩非常棘手的事,所以Java在JDK里面做了一些修改,让它变得稍微只能一些。你发觉安装之后,即使不设置classpath,它也能编译和运行一些基本的Java程序。然而要编译和运行源代码,你就必须将这些代码的根目录加到classpath里面。

« 上一篇下一篇 »