rt.jar 默认就在,根classloader的加载路径里面放在claspath是多此一举,你可以去掉classpath里面的rt.jar,然后用 java -verbose:class XX >x.txt的方式运行一个简单的类 就知道JVM的系统根Loader的路径里面,不光rt.jar,jre/lib下面的大部分jar 都在这个路径里
tools.jar 是系统用来编译一个类的时候用到的 也就是javac的时候用到,
javac XXX.java ,实际上就是运行
javac -Calsspath=%JAVA_HOME%/lib/tools.jar xx.xxx.Main XXX.java
javac就是对上面命令的封装 所以tools.jar 也不用加到classpath里面
dt.jar是关于运行环境的类库,主要是swing的包,你要用到swing时最好加上
其实根本不需要,这些类是由JAVA启动类装载器(Boostrap Classloader)装载的,这些是启动类(Boot
strap classes)。
在这讲解一下JAVA程序运行时如何查找类文件?
根据JDK文档说明, JAVA程序以以下3种顺序查找运行的类文件。
◆Bootstrap classes (*)
◆Extension classes
◆Users classes