关于JDK和JRE的一些总结
一、关于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的一些总结的更多相关文章
- java环境变量以及jdk、jre、jvm
一.jdk,jre,jvm的了解:jdk全称java development kit即java开发工具包,是整个java的核心,包含了java运行环境jre.java工具包和java的基础类库: jr ...
- J2EE,J2SE,J2ME,JDK,SDK,JRE,JVM区别
转自:http://www.metsky.com/archives/547.html 一.J2EE.J2SE.J2ME区别 J2EE——全称Java 2 Enterprise Edition,是Jav ...
- java中jdk和jre的区别
JRE: Java Runtime Environment JDK:Java Development Kit JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java ...
- Java学习2 - JDK和JRE和JVM的区别_JDK的下载安装_环境变量配置
一 JDK和JRE和JVM的区别 Jdk: Java Development kit - Java 开发工具 JRE: Java Runtime Environment - java运行环境 JVM: ...
- Java2_java入门时的一些基本概念的理解(j2ee,j2se,j2me,jdk,sdk,jre,jvm,跨平台)
什么是SDK呢? Software Develop Kit的简称,顾名思义就是软件开发包.软件开发商实现底层模块,并对其进行类库封装,配置成高级别的开发环境,为程序员上层的程序开发提供支持.譬如Goo ...
- 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, ...
- jdk 与jre的区别
jdk就是java的开发工具集,顾名思义就是你做开发用的,其中包括javac,也就是java compiler等. jre(java runtime environment),就是java程序的运行环 ...
- jdk、jre、jvm的关系
JDK里面的工具也是用JAVA编写的,它们本身运行的时候也需要一套JRE,如C:\Program Files\Java\jdk1.5.x\目录下的JRE.而C:\Program Files\Java\ ...
- jdk与jre的区别
很多程序员已经干了一段时间java了依然不明白jdk与jre的区别.JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境. ...
- Jdk和Jre目录和三个lib目录说明----外部扩展jar包servlet,mysql,oracle等
以下文章转载自a personal blog:For Future,因为昨天下午在cmd模式下编译servlet失败,后来在网上找到这篇文章帮我解决了该问题,我觉得挺值得收藏的,并且这篇文章对&quo ...
随机推荐
- VSCode 小鸡汤 第01期 - REST Client 简单好用的接口测试辅助工具
介绍 今天给大家介绍一个后端开发辅助的好工具 -- REST Client,插件如其名这就是一个 REST 的客户端插件,把我们的 VSCode 转化为一个 REST 接口测试的利器 我们一般都会用 ...
- [!!**!F6782A84A3BECEAADDB11DAC0C4E6346AC07E5344100738DAF4C6DA639D9081F!!**!]
testt 版权声明:本文博主原创文章,博客,未经同意不得转载.
- Entity Framework加载数据的三种方式。
MSDN文章Loading Related Entities 有 Eagerly Loading Lazy Loading Explicitly Loading 三种方式. 而看到查询中包含Inclu ...
- 简明Python3教程 18.下一步是什么
如果你有认真通读本书之前的内容并且实践其中包含的大量例程,那么你现在一定可以熟练使用python了. 同时你可能也编写了一些程序用于验证python特性并提高你的python技能.如果还没有这样做的话 ...
- 使用python移动飞信模块发送短信
作者:miaoo 1.应用场景 由于自己做的一个系统需要用到发送短信到自己手机的功能,于是搜索了一下,发现了一个通过移动飞信通道发送短信开源库:PyFetion PyFetion 模拟实现了飞信的通信 ...
- 机器学习:DeepDreaming with TensorFlow (三)
我们看到,利用TensorFlow 和训练好的Googlenet 可以生成多尺度的pattern,那些pattern看起来比起单一通道的pattern你要更好,但是有一个问题就是多尺度的pattern ...
- opengl实现直线扫描算法和区域填充算法
总体介绍 1. 使用线性扫描算法画一条线,线性离散点 2. 利用区域填充算法画多边形区域,区域离散的点 开发环境VS2012+OpenGL 开发平台 Intel core i5,Intel H ...
- Cocos2d-x 脚本语言Lua介绍
Cocos2d-x 脚本语言Lua介绍 本篇博客记录Lua学习.学习来自eoe论坛,Lua语言开发Cocos2d-x游戏入门视频教程,猛戳下面地址: http://www.eoeandroid.com ...
- 【C#】使用EF访问Sqlite数据库
原文:[C#]使用EF访问Sqlite数据库 1. 先上Nuget下载对应的包 如图,搜索System.Data.SQLite下载安装即可,下载完之后带上依赖一共有这么几个: EntityFramew ...
- ES6/ES2015核心内容(转载)
ES6其实就是ES2015,因为是2015年发布的,所以也叫ES2015.这个版本是JS的最新版本,很多浏览器还不支持,所有有了babel,专门把最新的JS转换一下,让大部分浏览器都支持的JS版本. ...