java Classpath 的解读

在了解java的classpath之前先来看看java的运行机制

         1.首先是编译,将.java文件编译成虚拟机认识的二进制文件。这个过程需要的命令是javac  可以在jdk的bin目录中找到,javac.exe(windows 下文件以.exe结尾)

         2.运行。将虚拟机认识的class二进制文件解析成机器码运行。这个过程需要的命令是java  在classpath的目录中找编译成的class文件加载到虚拟机运行。

首先将编译成虚拟机认识的二进制文件放到某一目录文件夹下(即生成的class文件)

运行时查找classpath 文件的路径,一般的文件路径都是:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

. 代表在当前的现在当前的目录下寻找class文件。可以设置成自己的工作空间的目录。

 

总结: 

   classpath 只在运行时有查找class文件的作用,防止系统找不到class文件。

 

付:(有人说为什么不查找整个磁盘,我想这个大概有两个原应:1.安全问题2.效率问题3.多个文件都出现不知道加载不知道运行那个的问题)

    1.因为如果虚拟机能查找整个磁盘的话,那么某些人可以将一些恶意的代码加载入虚拟机,造成虚拟机的瘫痪。

    2.试想现在的普通磁盘都到T的级别,服务器就更不用说。所以在整个磁盘下查找class文件效率会十分低下。

    3.在不同的操作系统中统一文件夹下不能存在同名的文件,但是不同目录下却可以。所以在不同目录下如果存在同名class文件,虚拟机就不知道要加载哪个文件。

转载于:https://www.cnblogs.com/immer/p/5175643.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值