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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 蓝雨星空 于 2013-10-6 17:23 编辑

           在看毕老师的基础教程中设置环境变量那节课的时候,毕老师说在设置classpath环境变量时,不要在后面加上分号 ,不加分号时,虚拟机每次只在classpath路径中查找class文件,如果加了的话,虚拟机会在classpath路径中找不到class文件的时候,再到当前目录中找。后来又说,如果想虚拟机执行当前目录的class文件的话,可以在设置classpath路径时在最前面加上 .;  (点分号)。这两种设置的方式都能让虚拟机执行当前目录下的class文件,但是不知道到底有什么区别呢?

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

4 个回复

倒序浏览
区别在哪儿路径先被访问。
如果是在classpath后加分号,则虚拟机会先在classpath路径中找class文件的,找不到再到当前目录中找。
如果设置classpath路径时在最前面加上 .;  ,则先在当前目录中找。

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 麦子 于 2013-10-6 14:42 编辑

无论你是在windows高级环境变量设置中配置(永久);还是通过在虚拟dos窗口中设置临时环境变量(临时)
   ;   作用是分隔符,用来分割两个不同的类库地址,而且java虚拟机在找类文件的时候也是按这里你定义的先后顺序从前到后来查找的
     若你在设置环境变量时  用   .;      . 代表当前路径    说明你是准备让虚拟机先从当前路径找起,
     若你再设置时不打算从当前路径下先找起的话,但你又需要虚拟机在查完环境变量里的地址后还查询一次当前路径,你可以在环境变量的最后添加一个  ;       这个不是最后一个路径的结束符号,它也是一个分隔符。只是这个分隔符后面没有接东西罢了,系统默认这个空位为当前路径
     
     好好学习,加油!!  不懂的话可以问我

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

回复 使用道具 举报
问题解决后,请修改帖子分类为:提问结束
回复 使用道具 举报
感谢各位同学的热心回答!!!{:soso_e130:}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马