Java概要说明及JDK环境变量配置

Java是解释型语言:源代码不是直接翻译成机器语言,而是先翻译成中间代码(由javac.exe编译器编译成.class文件),再由解释器(java.exe)对中间代码(.class文件)进行解释运行。,执行速度慢、效率低;依赖解释器、跨平台性好。

PS:也有人说Java是半编译、半解释型语言。Java 编译器(javac)先将java源程序编译成Java字节码(.class),JVM负责解释执行字节码文件。

JDK,JRE,JVM三者区别:

JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性。
java语言是跨平台,jvm不是跨平台的。
JRE(Java Runtime Environment):java的运行环境,包括jvm+java的核心类库+java.exe等运行工具。
JDK(Java Development Kit):java的开发工具,包括jre+开发工具(javac等)

java环境变量配置:

变量名是:JAVA_HOME

变量值:安装jdk版本文件夹目录下的bin文件夹,因为java的编译和运行程序在bin文件夹下,也就是下面安装目录

验证配置是否成功:

path与classpath的区别与作用:

最大的区别就是:classpath属于java语言中的环境变量,是给classLoader类加载器指路的,不属于操作系统的,path环境变量是属于操作系统

一. path
path是用来设置操作系统中软件的安装路径(例如JDK),设置了安装路径后,就不用把运行java程序的全路径写出来,直接可以在你的Java程序的工作空间输入cmd回车,javac编译,java运行
例如:
如果你在E:\javaidea\cxc\src\Computer.java路径下有一个Computer.java文件
直接在文件下路径上输入cmd进入运行窗口,输入javac+类名进行编译,java+类名进行运行就行了。

二. classpath
classpath是给classLoader类加载器指路的,比如说:你在E:\javaidea\cxc\src\Computer.java路径下的Computer.java程序,通过这样设置:classpath=E:\javaidea\cxc\src,这样你就可以打开dos窗口,在任意的位置都可以成功执行:java Computer。因为你执行Computer.java程序的时候,首先进行类加载,就会直接到classpath路径下去找。

使用1.5以上版本的JDK,完全可以不用设置ClassPath环境变量,即使不设置ClassPath环境变量,也完全可以正常编译和运行Java程序。

ClassPath环境变量的作用:当使用"java Java类名"来运行Java程序的时候,我们的想法是JRE到当前路径下搜索Java类,但是1.4以前版本的JDK没有设计这个功能,这意味着即使当前路径已经包含了HelloWorld.class,并在当前路径下执行"java HelloWorld",系统一样提示找不到HelloWorld类。如果使用1.4以前版本的JDK,则需要在CLASSPATH环境变量中添加一点(.),用以告诉JRE需要在当前路径下搜索Java类。

编译和运行Java程序还需要JDK的lib路径下dt.jar和tools.jar文件中的java类,因此还需要把这两个文件添加到CLASSPATH环境变量里。

因此,如果使用1.4以前版本的JDK来编译和运行Java程序,常常需要设置CLASSPAT环境变量的值为.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

其中%JAVA_HOME%代表JDK的安装目录。

后来的JRE会自动搜索当前路径下的类文件,而且使用Java的编译和运行工具时,系统可以自动加载dt.jar和tools.jar文件中的Java类,因此不再需要设置CLASSPATH环境变量。

当然,即使使用1.5以上版本的JDK,也可以设置CLASSPATH环境变量,一旦设置了该环境变量,JRE将会按照该环境变量指定的路径来搜索Java类。这意味着如果CLASSPATH环境变量中不包括一点(.),也就是没有包含当前路径,JRE不会在当前路径下搜索Java类。

如果想在运行Java程序时临时指定JRE搜索Java类的路径,则可以使用-classpath选项,即按如下格式来运行Java命令:java -classpath dir1;dir2;dir3;...;dirN Java类

-classpath选项的值可以是一系列的路径,多个路径之间在windows平台上以分号(;)隔开,在Linux平台上则以冒号(:)隔开。

如果在运行Java程序时指定了-classpath选项的值,JRE将严格按-classpath选项所指定的路径来搜索Java类,既不会在当前路径下搜索Java类,CLASSPAH环境变量所制定的搜索路径也不再有效。如果想使CLASSPATH环境变量指定的搜索路径有效,而且还会在当前路径下搜索Java类,则可以按如下格式来运行Java程序:
java -classpath %CLASSPATH%;.;dir1;dir2;dir3;...;dirN Java类

上面命令通过%CLASSPATH%来引用CLASSPATH环境变量的值,并在-classpath选项的值里添加了一点,强制JRE在当前路径下搜索Java类。

  • 26
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值