您的位置:首页 > 运维架构 > Linux

教你正确的CentOS磁盘配额

2011-05-31 15:44 99 查看
总结下classpath

以一个简单的java类开始,要点
(1)javac
(2)java -cp
(3)用户自定义类加载次序
(一)java source code
package cn.smartjava.test;

public class Client {
public static void main(String[] args) throws Exception {
System.out.println("package cn.smartjava.test;");
}
}

保存至目录:E:\cptest\cn\smartjava\test\Client.java

(二)compile
> javac E:\cptest\cn\smartjava\test\Client.java

编译的时候,源代码可以放在任何目录,不一定非要按照package中指定的目录层次放置。javac会将class文件生成到java文件所在目录

(三)run
运行时,必须将class文件按source code中package指定的文件层次放置好。编译完成,目录结构为:
E:\cptest\cn\smartjava\test\Client.class
package部分的相对目录内容cn\smartjava\test\Client.class可以随意移动,测试起见,我们将其copy到D:\newcptest下,现在class文件位置为:
D:\newcptest\cn\smartjava\test\Client.class

两种运行方式:
(1)不指定classpath
> cd D:\newcptest
> java cn.smartjava.test.Hello


(2)显式指定classpath
> cd 任何路径
> java -cp d:\newcptest cn.smartjava.test.Hello

实际上第一种方式采用的默认classpath(-cp .)

用户自定义类的加载顺序:
引用
1. 默认的user classes .就是指当前目录。
2. 系统变量classpath所指定的类库,该变量覆盖默认的user classes.
3. 用命令行参数 -cp 或 -classpath指定的类库。这个时候覆盖默认的user classes 和classpath变量。
4. 通过-jar 参数指定的jar文件。此时覆盖上面的三种情况,如果使用这种情况,所有的类文件必须来自指定的jar 文件。

================================================
参考:
(1)http://www.blogjava.net/macinter/archive/2006/10/19/76099.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: