关于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 ...
随机推荐
- 关于HierarchyViewer的使用
在学习ViewGroup和Layout时我们可能会有一个疑问,如果我在Xml布局文件中不放置Layout,直接放TextView等组件的时候,它是用什么方式布局的?还有要学习别人优秀的布局怎么办? H ...
- qLibc 对于C C++都是一个很好的框架,提供Tree Hash Stack String I/O File Time等功能
qLibc Copyright qLibc is published under 2-clause BSD license known as Simplified BSD License. Pleas ...
- JPEG图像扩展信息读取和修改
最近,项目需要使用jpg图像信息被写入(非水印),经过研究发现,Android已封装的读者jpg图片扩展信息api(ExifInterface). 通讯api住址:http://developer.a ...
- WPF--动态添加控件、访问控件
//WPF窗口采用默认的Grid布局控件,其“Name”值为“grid1”,在“grid1”中添加三个Button按钮.动态添加控件并访问这些控件的代码如下: private void button1 ...
- C++一个简单的手柄类模板
#ifndef HANDLE_H #define HANDLE_H #include "Animal.h" template <typename T> class Ha ...
- 理解 t-SNE (Python)
t-SNE(t-distribution Stochastic Neighbor Embedding)是目前最为流行的高维数据的降维算法. t-SNE 成立的前提基于这样的一个假设:我们现实世界观察到 ...
- 用C++写android程序(包含界面+发短信)
首先为什么要用C++写android程序呢?主要是因为java写的android程序太容易被发编译,相对于java编译后的dex文件,底层的native so更加不容易被反编译,所以为了安全起见,可以 ...
- 使用MVVM DataTriggers在WPF XAML视图之间切换/Window窗口自适应内容大小并居中
原文 使用MVVM DataTriggers在WPF XAML视图之间切换 相关文章: http://www.technical-recipes.com/2016/switching-between- ...
- Cocos2d-X之LUA注意事项
「使用计时器」: 计时器函数原型:unsigned int scheduleScriptFunc(unsigned int handler, float interval, bool paused) ...
- ASP.NET Core 配置 MVC - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 配置 MVC - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 MVC 前面几章节中,我们都是基于 ASP.NET 空项目 ...