电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

JAVA类路径说明(新手必读)

JAVA类路径说明(新手必读)_第1页
JAVA类路径说明(新手必读)_第2页
JAVA类路径说明(新手必读)_第3页
一、类路径 (class path) 当你满怀着希望安装好java,然后兴冲冲地写了个“hello world”,然后编译, 运行,就等着那两个美好的单词出现在眼前。可是不幸的是,只看到了“Can't find class HelloWorld”或者“Exception in thread " main" java.lang.NoSuchMethodError: main。 为什么呢?编译好的class 明明在呀。 我们一起来看一看java 程序的运行过程。我们已经知道java 是通过java 虚拟机来解释运行的,也就是通过java 命令—javac 编译生成的.class 文件就是虚拟机要执行的代码, 称之为字节码(bytecode), 虚拟机通过classloader 来装载这些字节码,也就是通常意义上的类。这里就有一个问题,classloader 从哪里知道java 本身的类库及用户自己的类在什么地方呢?或者有着缺省值(当前路径) ,或者要有一个用户指定的变量来表明,这个变量就是类路径(classpath),或者在运行的时候传参数给虚拟机。这也就是指明classpath 的三个方法。编译的过程和运行的过程大同小异,只是一个是找出来编译,另一个是找出来装载。实际上java 虚拟机是由java luncher 初始化的,也就是java (或 java.exe) 这个程序来做的。虚拟机按以下顺序搜索并装载所有需要的类: 1、引导类:组成java 平台的类,包含rt.jar 和 i18n.jar 中的类。 2、扩展类:使用java 扩展机制的类,都是位于扩展目录($JAVA_HOME/jre/lib/ext) 中的.jar 档案包。 3、用户类:开发者定义的类或者没有使用java 扩展机制的第三方产品。你必须在命令行中使用-classpath 选项或者使用CLASSPATH 环境变量来确定这些类的位置。 我们在上面所说的用户自己的类就是特指这些类。 这样,一般来说,用户只需指定用户类的位置,引导类和扩展类是“自动”寻找的。那么到底该怎么做呢?用户类路径就是一些包含类文件的目录,.jar, .zip 文件的列表,至于类具体怎么找,因为牵扯到package 的问题,下面将会说到,暂时可认为只要包含了这个类就算找到了这个类。根据平台的不同分隔符略有不同,类unix 的系统基本上都是“:”,windows 多是“;”。其可能的来源是: * “ . ”, 即当前目录,这个是缺省值。 * CLASSPATH 环境变量,一旦设置,将缺省值覆盖。 * 命令行参数-cp 或者-classpath,一旦指定,将上两者覆盖。 * 由 -jar 参数指定的.jar 档案包,就把所有其他的值覆盖,所有的类都来自这个指定的档案包中。由于生成可执行的...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部