java的classpath和path理解

1)classpath即是类路径的意思,后缀为.java的源程序编译成功之后会生成后缀为.class的类文件。classpath与import关键字是相关的,程序编译的时候,遇到import关键字,编译器就会到classpath参数对应的路径中去寻找对应的.class类文件,将其倒入。classpath的一个示例如下:

classpath=“.;/usr/local/jdk/lib;/home/hadoop/DoubleArrayWritable.jar”

“.”表示当前目录,就是当前的工作目录

其中,DoubleArrayWritable.jar是我自己写的类。编译程序时,编译器就是在这些目录中搜索import倒入的类文件。其实,classpath还对应着java的另外一种机制,就是包名。比如以下的一个导入语句:

import matrix.writable.ArrayWritable

编译器解析这条import语句的时候会将“.”解析为斜杠“/”表示路径,以上这句话的意思就是在classpath对应的某个路径下,搜索“matrix/writable/ArrayWritable”类文件。但是,当我们使用IDE,比如eclipse的时候就不用设置系统的classpath路径,为什么也可以编译成功呢?因为在eclipse中添加了依赖的jar包之后,eclipse会自动生成一个classpath文件。

2)path的作用就是配置jdk的bin目录,这个目录下包含了一些命令,例如javac java javadoc,配置完成之后可以在任意目录下使用这些命令,而不必每次切换到bin目录下。

原文地址:https://www.cnblogs.com/lz3018/p/5149950.html