JDK和JRE的区别及配置

参考:https://blog.csdn.net/xiaohukun/article/details/78915983

https://blog.csdn.net/qixin1889/article/details/51277504 

一、JDK与JRE
如果你希望进行Java开发,那么第一件事就是搭建Java环境,Java环境可以分为开发环境和运行环境。
开发环境: JDK,对应javac命令
运行环境: JRE,对应java命令

具体而言:
JDK(Java Development Kit)指的是Java开发工具集。JDK是整个Java的核心,包括了Java基础类库、Java运行环境(JRE)和Java开发工具。是做Java开发必须要安装的。

JRE(Java Runtime Environment)指的是Java运行时环境。Java程序运行时必需要JRE的支持。如果系统只安装JRE的话,则意味着系统可以跑任何Java程序,但不能做Java开发。

JVM(全称Java Virtual Machine)指的是“Java虚拟机”,简单来说就是一个软件。一个什么软件呢?一个可以运行Java的软件。我们在将.java编译后,会生成相应的.class文件,那么,问题来了,什么问题呢?就是这个.class文件怎么运行?运行在哪里?答案就是JVM。JVM就是加载并运行.class文件的软件。

     

所以如果你只是要能够跑java程序的话,只需要安装JRE即可,如果你希望开发java程序,则需要安装JDk,需要注意的是JDK中已经包括了JRE。

现在假设你已经在Windows上安装好了JDK,可以用记事本编写经典的Hello World!代码:
HelloWorld.java文件

public class HelloWorld {
    public static void main(String[] args){
    System.out.println("hello world!");
    }
}


注意:因为申明了是公共类,所以文件名必须和类名一致

首先进入文件所在位置,然后javac HelloWorld.java,这个过程称之为编译,此时会在当前目录下生成HelloWorld.class文件,这就体现了开发环境。

之后java HelloWorld ,此时控制台便会出现”hello world!”字样,这就体现了运行环境。
需要注意此时不可加文件后缀,因为java命令 并不是运行文件而是运行这个类。
如果加了后缀就会报如下错误:

二、JAVA环境配置
1.官网下载JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html

2.直接点击安装,地址可以自行修改

3.配置环境变量
①进入系统-高级系统设置-环境变量

②新建系统变量JAVA_HOME
填入Java的安装路径,如:D:Javajdk9

由于文件位置及名称可能会随时变化,所以用单独的变量名来存储它(JAVA_HOME)

%%可动态获得变量内容

③新建系统变量CLASSPATH
填入:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%lib ools.jar;
或者:.;%JAVA_HOME%lib;

CLASSPATH的作用是什么呢?
我们知道Java虚拟机JVM负责执行Java的类文件,而JVM是如何找到需要执行的class文件呢?这就需要classpath这个环境变量了,JVM会优先去classpath中所记录的路径去按顺序查找目标class文件。如果没有设置classpath这个环境变量,则JVM只会在当前目录下进行查找。

classpath的设置中,如果设置完路径后,其末尾没有带有分号(;),则表示JVM仅仅只去指定的目录查找类文件,如果找不到,也不会在当前所在目录查找;如果带有分号作结尾,则表示会先去指定目录下查找,若找不到,则会在当前目录下重新查找;而设置中的点号(.),就代表当前目录;

④编辑系统变量Path
填入:%JAVA_HOME%in;

一般情况下如果我们需要执行某个exe程序,需要先进到程序所在路径,而如果你讲这个路径配置到Path变量中,就可在任何地方通过Dos执行,bin下的javac.exe也是如此。

三、临时配置环境

比如,我们用别人的电脑临时操作,这个时候就可以设置临时环境变量

set  设置环境变量

set path=haha

只在当前dos窗口有效

如果想要添加一个path值的话: set path=haha;%path% (“%%”动态获得变量内容)

在更改完成后在当前dos窗口用命令 start 新开一个窗口则会拥有之前设置的环境变量

原文地址:https://www.cnblogs.com/loo5mity/p/10051384.html