zoukankan      html  css  js  c++  java
  • PATH和CLASSPATH

    如果你不设置PATH,则在小黑框输入javac hello.java 时会报错,显示javac不是内部命令

    内部命令,即操作系统已经设定好的,可直接使用的命令,javac是JDK中的编译工具,是后来人,如果不让系统知道有这个命令,就无法使用它。

    一种方法,就是把命令改成:"c:program filesjavajdk1.7.0injavac" hello.java (其中c:program filesjavajdk1.7.0injavac是javac存放路径)

    但显然,这方法太瞎了,一点都不简便。

    这个时候,我们就需要通过设置PATH变量,把这个地址直接告诉给操作系统。也可以理解为,人为地把javac设置成了操作系统的内部命令。

    具体怎么设置,网上一搜就出来了,我不做赘述。

    之前曾经说过,编译java文件会出现.class文件,即可执行文件,生成可执行文件后,就会启动JVM,要求JVM执行.class文件中的指令。

    启动JVM指令是java。

    在小黑框中执行java hello时,若hello.class文件并不在当前文件夹下,就会显示“找不到或无法加载主类 hello”。

    其实在未设置classpath时,JVM只会在当前文件夹下寻找对应的.class文件,找不到自然要报错

    所以我们才会去设置classpath环境变量,就是为了告诉JVM,到底应该在哪些地方找.class文件。

    很多人只会根据教程来设置path和classpath,我觉得了解他们的实际用途也是很重要的。

    最后要提一下,因为系统总是根据设置的路径从前到后挨个查看有没有需要的文件,所以,最有可能的路径放在最前面,可以提高工作效率哦。

  • 相关阅读:
    java 的三种代理模式 (二)——子函数切面
    王者荣耀为什么不使用微服务架构,服务的极简主义,为什么交易网关使用redis做持久
    tcp_syncookies 半连接
    tcp_tw_recycle tcp_tw_reuse与timewait【yetdone】
    动态代理,没有被代理对象
    一次jstack解决update停顿
    动态代理反向
    注解的继承
    51单片机状态机键盘检测
    28335scififo中断接收与发送
  • 原文地址:https://www.cnblogs.com/sjbas/p/5550803.html
Copyright © 2011-2022 走看看