一、关于JDK和JRE

JDK (Java Development Kit)即java开发工具,包括JER及代码编译器(javac)、文档注释器(JavaDoc)、代码调试器(Java Debugger)等等工具.

JRE(Java Runtime Environment)即java应用运行环境,包括JVM、类库等.

JVM (Java Virtual Machine)即java虚拟机,负责将字节码(Java byte codes)翻译成对应操作系统平台的机器码(machine code)指令;java语言的操作系统无关性特性就是基于JVM实现的.

二、关于环境变量的配置

1、JAVA_HOME:指定JDK的安装路径,如:D:\Program Files\Java\jdk1.7.0_80

2、CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar,指定编译后的.class文件存放的路径,使用cmd命令窗口时,较为有用,一般可不配置

3、PATH:配置系统默认JDK和JRE路径,在PATH环境变量值后面追加%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

三、JDK和JRE的安装

因为JDK包含了JRE,所以安装完JDK后JRE实际上也就安装了(JDK的安装目录中存在JRE目录),但是,我们在安装完JDK后,会又弹出一个安装JRE的窗口,如下

那么我们要不要安装呢?安装与不安装有什么区别呢?答案是可以不安装,这个JRE安装实际上是客户端使用的独立安装版本,它会自动配置JRE的环境变量(查看PATH环境变量,会发现在最开始多了C:\ProgramData\Oracle\Java\javapath;路径配置,打开这个目录,会看到java.exe、javaw.exe、javaws.exe命令文件,同时还会向C:\Windows\System32目录下也拷贝一份,同时还会向注册表写入JRE默认版本信息);不安装的话,我们就需要手动配置JDK和JRE的环境变量。

四、JDK和JRE版本切换

1、如果没有安装独立版本的JRE,则只修改环境变量JAVA_HOME的值为对应的版本路径即可;使用javac -version查看JDK的版本,使用java -version查看JRE的版本。

2、如果安装了独立版本的JRE,JDK版本依然通过JAVA_HOME环境变量进行修改,JRE的版本修改则需要将对应版本的java.exe、javaw.exe、javaws.exe命令文件拷贝到C:\ProgramData\Oracle\Java\javapath和C:\Windows\System32目录下(System32目录下java命令文件也可以不需要,因为javapath下已经存在,根据环境变量中的配置顺序优先使用javapath下的),同时将注册表中的JRE版本信息修改为对应的版本(regedit打开注册表,找到HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment,修改CurrentVersion的值为对应的JRE版本)。

说明:本文总结为个人理解,如有错误,请指正。

关于JDK和JRE的一些总结的更多相关文章

  1. java环境变量以及jdk、jre、jvm

    一.jdk,jre,jvm的了解:jdk全称java development kit即java开发工具包,是整个java的核心,包含了java运行环境jre.java工具包和java的基础类库: jr ...

  2. J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别

    转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...

  3. java中jdk和jre的区别

    JRE: Java Runtime Environment JDK:Java Development Kit JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java ...

  4. Java学习2 - JDK和JRE和JVM的区别_JDK的下载安装_环境变量配置

    一 JDK和JRE和JVM的区别 Jdk: Java Development kit - Java 开发工具 JRE: Java Runtime Environment - java运行环境 JVM: ...

  5. Java2_java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)

    什么是SDK呢? Software Develop Kit的简称,顾名思义就是软件开发包.软件开发商实现底层模块,并对其进行类库封装,配置成高级别的开发环境,为程序员上层的程序开发提供支持.譬如Goo ...

  6. XAMPP里tomcat启动报错:Make sure you have Java JDK or JRE installed and the required ports are free

    以前用XAMPP的时候就是自然而然装好了就可以用,最近重装了新系统,打算在Windows 10里面配置Apache tomcat.PHP.MySQL的开发环境,迟迟试验不成功,于是直接用了XAMPP, ...

  7. jdk 与jre的区别

    jdk就是java的开发工具集,顾名思义就是你做开发用的,其中包括javac,也就是java compiler等. jre(java runtime environment),就是java程序的运行环 ...

  8. jdk、jre、jvm的关系

    JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE,如C:\Program Files\Java\jdk1.5.x\目录下的JRE.而C:\Program Files\Java\ ...

  9. jdk与jre的区别

    很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. ...

  10. Jdk和Jre目录和三个lib目录说明----外部扩展jar包servlet,mysql,oracle等

    以下文章转载自a personal blog:For Future,因为昨天下午在cmd模式下编译servlet失败,后来在网上找到这篇文章帮我解决了该问题,我觉得挺值得收藏的,并且这篇文章对&quo ...

随机推荐

  1. VSCode 小鸡汤 第01期 - REST Client 简单好用的接口测试辅助工具

    介绍 今天给大家介绍一个后端开发辅助的好工具 -- REST Client,插件如其名这就是一个 REST 的客户端插件,把我们的 VSCode 转化为一个 REST 接口测试的利器 我们一般都会用 ...

  2. [!!**!F6782A84A3BECEAADDB11DAC0C4E6346AC07E5344100738DAF4C6DA639D9081F!!**!]

    testt 版权声明:本文博主原创文章,博客,未经同意不得转载.

  3. Entity Framework加载数据的三种方式。

    MSDN文章Loading Related Entities 有 Eagerly Loading Lazy Loading Explicitly Loading 三种方式. 而看到查询中包含Inclu ...

  4. 简明Python3教程 18.下一步是什么

    如果你有认真通读本书之前的内容并且实践其中包含的大量例程,那么你现在一定可以熟练使用python了. 同时你可能也编写了一些程序用于验证python特性并提高你的python技能.如果还没有这样做的话 ...

  5. 使用python移动飞信模块发送短信

    作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...

  6. 机器学习:DeepDreaming with TensorFlow (三)

    我们看到,利用TensorFlow 和训练好的Googlenet 可以生成多尺度的pattern,那些pattern看起来比起单一通道的pattern你要更好,但是有一个问题就是多尺度的pattern ...

  7. opengl实现直线扫描算法和区域填充算法

    总体介绍 1.   使用线性扫描算法画一条线,线性离散点 2.   利用区域填充算法画多边形区域,区域离散的点 开发环境VS2012+OpenGL 开发平台 Intel core i5,Intel H ...

  8. Cocos2d-x 脚本语言Lua介绍

    Cocos2d-x 脚本语言Lua介绍 本篇博客记录Lua学习.学习来自eoe论坛,Lua语言开发Cocos2d-x游戏入门视频教程,猛戳下面地址: http://www.eoeandroid.com ...

  9. 【C#】使用EF访问Sqlite数据库

    原文:[C#]使用EF访问Sqlite数据库 1. 先上Nuget下载对应的包 如图,搜索System.Data.SQLite下载安装即可,下载完之后带上依赖一共有这么几个: EntityFramew ...

  10. ES6/ES2015核心内容(转载)

    ES6其实就是ES2015,因为是2015年发布的,所以也叫ES2015.这个版本是JS的最新版本,很多浏览器还不支持,所有有了babel,专门把最新的JS转换一下,让大部分浏览器都支持的JS版本. ...