classpath理解

我们一起来研究一下:“java HelloWorld”的执行过程以及原理。

D:\course\JavaProjects\02-JavaSE\chapter01>java HelloWorld
敲完回车,都发生了什么?????
     
    第一步:会先启动JVM(java虚拟机)

    第二步:JVM启动之后,JVM会去启动“类加载器classloader”
    类加载器的作用:加载类的。本质上类加载器负责去硬盘上找“类”对应的“字节码”文件。
    假设是“java HelloWorld”,那么类加载器会去硬盘上搜索:HelloWorld.class文件。
    假设是“java Test”,那么类加载器会去硬盘上搜索:Test.class文件。
    .......
 
    第三步:
        类加载器如果在硬盘上找不到对应的字节码文件,会报错,报什么错?
            错误: 找不到或无法加载主类
        类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码
        文件装载到JVM当中,JVM启动“解释器”将字节码解释为“101010000...”这种
        二进制码,操作系统执行二进制码和硬件交互。
         
问题?????
    默认情况下,类加载器去硬盘上找“字节码”文件的时候,默认从哪找????
        默认情况下类加载器(classloader)会从当前路径下找。
 
此处应该有疑问,你可以提出哪些问题????
    能不能给类加载器指定一个路径,让类加载器去指定的路径下加载字节码文件。
    答案:可以的。但是我们需要设置一个环境变量,叫做:classpath
 
classpath是一个环境变量,是给谁指路的?
    答案:是给“类加载器”指路的。
 
classpath环境变量不属于windows操作系统,classpath环境变量隶属于java。

classpath环境变量是java特有的。
    classpath=A路径;B路径;C路径.....
    classpath是一个变量名
    A路径;B路径;C路径.....是变量值
 
我们把classpath配置一下,这个环境变量在windows中没有,需要新建!!!!
    计算机-->右键-->属性-->高级系统设置-->环境变量-->新建...
 
注意:变量名不能随意写:大小写无所谓,但必须叫做:classpath
    CLASSPATH
    ClassPath
    Classpath
    classpath
    都行。
 
我目前是随意配置的:(重启CMD)
    classpath=D:\course
    非常重要的一个特点,必须记住:
        配置了classpath=D:\course之后,类加载器只会去D:\course目录下找“xxx.class”文件
        不再从当前路径下找了。
     
    结论是:
        到目前为止:classpath环境变量不需要配置。
        但你必须理解classpath环境变量是干什么的!!!!
 
你一定要理解classpath环境变量的作用是什么?
    是给类加载器指路的。
    在没有配置环境变量classpath的时候,默认从当前路径下加载。
    如果配置了环境变量classpath的话,就只能从指定的路径下加载了。

path java_home classpath,这3个环境变量path需要配置,后面两个暂时不配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值