安装jdk的时候为什么会有两个jre文件
有些东西,你懂不懂其实并不太影响你干活,但有些人就是有疑惑就非得弄懂,不然浑身难受,我大概就是这种德性的。昨天安装javaSE的时候,看到jdk中有个jre文件夹,而根目录下又有个jre文件夹,非常困惑,难道不一样吗?带着问题,上网查了一会儿,果然,还是有点明灯的人~
首先看看JDK和JRE分别在开发中的作用吧。
JRE
是Java Runtime Environment,是java程序的运行环境。既然是运行,当然要包含JVM(Java Virtual Machine),也就是虚拟机,还需要包含java类库的class文件,在jre/lib目录下打包成了jar。
JDK
是Java Development Kit,是java的开发工具包,里面包含了各种类库和工具,当然也包括了另外一个jre。
那么为什么还包含了一个jre文件呢?
可以看到,其中一个jre文件在jdk内部,一个jre文件在jdk外部,这就是所谓的专用JRE和公用JRE
专用JRE
安装JDK时,会安装一个专用JRE,并且你可以选择安装一个公共副本,需要专用JRE才能运行JDK中包含的工具。专用JRE没有注册表设置,并且完全包含在仅对JDK已知的Java目录中(如D\java\jdk\jre)。
公共JRE
公共JRE可由其它Java应用程序使用,并且包含在JDK外部(如D\Java\jre)。公共JRE会注册到Windows注册表(位于HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft)中。公共JRE可以使用“添加/删除程序”进行删除,并且还会注册到浏览器。
我们知道运行JAVA程序的时候,只需要JRE就能够运行了,而并不需要使用JDK中的开发工具(如javac java等等),公共JRE就是为运行加载到计算机中的JAVA程序来提供运行环境的,也就是说,如果我们并不需要开发JAVA程序,而仅仅是运行他人已有的JAVA程序时,仅仅安装这个在 JDK外部的JRE文件就足够了。但是如果我们需要开发JAVA程序,那么就必须安装JDK,JDK中包含专用JRE和开发工具,这些开发工具需要专用JRE才能够使用,也就说专用JRE是为我们开发JAVA程序准备的。
要注意,这两个JRE文件中的内容是有区别的,所以不能够简单的进行替换。
同时注意平时所说的“java自动更新”根本不是所安装的JDK版本的更新,它指的是这个公用JRE运行时环境的更新,这个更新为的是让你的计算机能够使用最新版本正常的运行一些网站或则Web应用等等当中的java程序,如果不及时更新的话,可能我们在浏览一些网页或者web应用时,不能够正常的交互和显示,这与JDK没有任何的关系,很多人认为“java的自动更新”指的是JDK版本的自动更新,这就大错特错了。所以如果我们要想升级JDK的版本,只能够从官网中下载最新版本的JDK,重新安装。
安装jdk的时候为什么会有两个jre文件的更多相关文章
- eclipse中的两种Jre 及 Jre与Jdk的区别
分类: ——————————区分eclipse中的两种Jre———————- (Eclipse也是一个普通的Java程序,因此必须有一个JRE做为运行环境.如果你的机器上没有安装任何JRE(或者JDK ...
- window、linux安装jdk,excel 导入oracle,WebService,window 端口查看,svn服务安装,oracle用户解锁
内存泄露分析插件http://download.eclipse.org/mat/1.3/update-site/birt插件http://download.eclipse.org//birt/upda ...
- liunx centOS6.5安装jdk教程
第一步:mkdir /usr/java/ --在/usr目录下新建一个java目录 第二步:cp jdk-7u25-linux-x64.rpm /usr/java/ --将JDK文件复制到/usr/j ...
- linux系统中安装JDK
安装之前的准备工作 查看系统中之前安装好的JDK java –version rpm -qa | grep java 卸载JDK (以java-1.7.0-openjdk-1.7.0.45-2.4.3 ...
- Ubuntu 安装 JDK 7 / JDK8 的两种方式
ubuntu 安装jdk 的两种方式: 1:通过ppa(源) 方式安装. 2:通过官网下载安装包安装. 这里推荐第1种,因为可以通过 apt-get upgrade 方式方便获得jdk的升级 使用pp ...
- 为何在JDK安装路径下存在两个JRE?
"两个jre"和"三个lib"的功能简单扼要的解释 安装JDK后,Java目录下有jdk和jre两个文件夹,但jdk下还有一个jre文件夹,而且这个jre比前面 ...
- JDK安装目录分析-两个jre和三个lib
安装JDK后,Java目录下有jdk和jre两个目录,但jdk下还有一个jre目录,而且这个jre比前面那个jre在bin目录下少了个server文件夹(Server端的Java虚拟机)!前一个jre ...
- jdk安装完为什么会有两个JRE?
jdk安装完为什么会有两个JRE? 之所以需要两套 jre ,是因为可以分担工作:当用户只需要执行 java 的程序时,那么 c:\program files\java\jre 下的 jre 就 ok ...
- Linux安装jdk(两种方式)
最近在研究大数据方面的东西,业务场景是从设备采集数据经过处理然后存放DB. 建设上面的环境第一步肯定是安装jdk,所以和大家一起学一下基本知识centos7.5安装jdk1.8. 安装jdk有两种方法 ...
随机推荐
- RabbitMQ安装详解
# RabbitMQ 消息中间件 一.安装:#安装epel源[EPEL (Extra Packages for Enterprise Linux,企业版Linux的额外软件包)rpm -Uvh htt ...
- Java -- JDBC 学习--调用函数&存储过程
调用函数&存储过程 /** * 如何使用 JDBC 调用存储在数据库中的函数或存储过程 */ @Test public void testCallableStatment() { Connec ...
- csp20160904解题报告
dijkstra+贪心 每次加一个到起始点(首都)距离最小的点. 然后加边,这个最小点必然通过一条边和已加入的某个点相连,在这个最小点与已加入的点相连的边中,选取最短的一条边加入. 证明如下: 前提: ...
- 用矩阵和待定系数法求数列的分析(复杂度log(n))
下载地址:http://pan.baidu.com/s/1nuVew6d
- Gradle 从svn 中检出的父项目后处理配置【我】
前提: 一个用gradle配置的 类似maven的聚合项目的项目,然后它在svn上就是一个父工程的目录. 检出方式: 在eclipse中,直接用svn资源库检出 父项目 的目录. 然后,在父项目下面的 ...
- 拦截器的使用,配置手机浏览器访问的h5页面
package com.thinkgem.jeesite.modules.sys.interceptor; import javax.servlet.http.HttpServletRequest; ...
- 在VS2010中使用Git【图文】转
在之前的一片博客<Windows 下使用Git管理Github项目>中简单介绍了在Windows环境中使用Git管理Github项目,但是是使用命令行来进行操作的,本文将简单介绍下在VS2 ...
- STM8S ------ VCAP download
There is a specific pin called vcap in stm8s mcu. I recommend this pin connects to a 1uF capacitor w ...
- 【leetcode】 Merge Intervals
Merge Intervals Given a collection of intervals, merge all overlapping intervals. For example,Given ...
- UDP网路会议室的代码
UDP网络会议室视频已经录制好,这里贴上代码仅供参考 MainWindow代码: using System; using System.Collections.Generic; using Syste ...