黑马程序员技术交流社区

标题: classpath的疑问 [打印本页]

作者: 王洪波    时间: 2013-5-6 16:28
标题: classpath的疑问
本帖最后由 王洪波 于 2013-5-6 18:49 编辑

在自学基础课时,弄不太清classpath是操作系统用的,还是java虚拟机用的?

作者: 王洪波    时间: 2013-5-6 16:41
尹桥印 发表于 2013-5-6 16:29
呃。是样的:
classpath是由Java的虚拟机来使用查找需要加载的类,classpath作用是指定类搜索路径。
而操作 ...

非常感谢你的即时回答。若不设置classpath, java虚拟机默认查找的类加载目录是什么呢?
作者: xiaohu1218    时间: 2013-5-6 16:54
运行程序时,首先要找到执行这个编译命令的可执行文件的路径(path),如javac.exe,java.exe的目录所在,这个过程由windows系统完成;
java命令启动虚拟机,虚拟机会先到classpath下查找需要加载的类文件;
作者: 柳汉杰    时间: 2013-5-6 17:22
PATH:指定一个路径列表,用于搜索可执行文件的。执行一个可执行文件时,如果该文件不能在当前路径下找到,则依次寻找 PATH 中的每一个路径,直至找到。或者找完 PATH 中的路径也不能找到,则报错。Java 的编译命令 (javac),执行命令 (java) 和一些工具命令 (javadoc, jdb 等) 都在其安装路径下的 bin 目录中。因此我们应该将该路径添加到 PATH 变量中。

CLASSPATH:也指定一个路径列表,是用于搜索 Java 编译或者运行时需要用到的类。在 CLASSPATH 列表中除了可以包含路径外,还可以包含 .jar 文件。Java 查找类时会把这个 .jar 文件当作一个目录来进行查找。通常,我们需要把 JDK 安装路径下的 jre\lib\rt.jar (Linux: jre/lib/rt.jar) 包含在 CLASSPATH 中。




即path是执行javac和java命令时使用的,而classpath是在你的程序执行时能找到java中的class类。 这样说可能更简单
作者: 黑马-雷钊    时间: 2013-5-6 20:56
path就是设置dos命令行里可以直接启动程序的路径,classpath顾明思议,就是存放。class文件的路径。假如不设置classpath就直接是当前路径。现在1.7版本可以不用设置了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2