A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 xiangzi2008006 于 2013-8-20 16:22 编辑

Classpath既然是加载有关的类的环境变量,为什么加载%JAVA_HOME%\lib,而不加载%JAVA_HOME%\jre\lib目录,这里面不是有更多java系统类吗?

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 不能因为类就设置在哪里,小心搞混.

查看全部评分

4 个回复

倒序浏览
本帖最后由 joechen 于 2013-8-19 23:10 编辑

jre是java运行环境,我们在安装jdk的时候已经安装了jre,我们编写的程序要先经过javac编译,产生class文件,当运行Java程序时,首先运行JVM(Java虚拟机),然后再把Java class加载到JVM里头运行。经过对比会发现javac.exe只存在于jdk1.6.0_10\bin目录下,jdk1.6.0_10\jre\bin目录下没有javac.exe。也就是说classpath应当配置环境变量到jdk1.6.0_10\ bin目录下,我们写的程序才能被javac编译

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 我以为大家都是用JDK7呢

查看全部评分

回复 使用道具 举报
joechen 发表于 2013-8-19 23:07
jre是java运行环境,我们在安装jdk的时候已经安装了jre,我们编写的程序要先经过javac编译,产生class文件 ...

jdk1.6.0_10\jre\bin目录下没有javac.exe
回复 使用道具 举报
因为java和javac程序在jdk1.6.0_10\ bin目录下,然而通过配置环境变量,就可以在任意目录下的dos命令行就可以运行这两个程序编译运行java程序,其实也可以不用配置环境变量,不过在dos下运行java和java才这两个程序时要切换到jdk1.6.0_10\ bin目录下,也可以编译运行,一个是让计算机自动去寻找路径,另一个是自己切换路径,本质是一样的,不过老是切换很麻烦,所以要配置环境变量了

评分

参与人数 1技术分 +1 收起 理由
EYE_SEE_YOU + 1 夜猫子,嘿嘿

查看全部评分

回复 使用道具 举报
怎么感觉楼上回答的和我问的不一样,楼上大多回答path的问题,我问的Classpath变量,而不是path变量。。。刚搜索了下相关问题,发现原来是我理解错了,一直以为Classpath加载我们用到的其他java基础类,如System类,Math类,都忘了张老师的类委托机制了,他们都是通过Loader加载进来的,不是放在Classpath变量下。。。张老师,我对不起你。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马