学习啦>生活课堂>生活小常识>

简述jre与jdk的区别

时间: 岳彬1043 分享

  少同学初次安装JDK后,会发现电脑里会有两套JRE:一套位于 \jre;另外一套位于 C:\Program Files\Java\j2re1.4.1_01 目录下后面这套比前面那套少了Server端的Java虚拟机。那么JDK和JRE各有什么作用,区别在哪呢?下面是学习啦小编为你整理的简述jre与jdk的区别,供大家阅览!

  简述jre和jdk的区别

  什么是JRE

  JRE(Java Runtime Environment,Java运行时环境),包含了java虚拟机、java基础类库。是使用java语言编写的程序运行所需要的软件环境。

  它相当于操作系统部分,提供了Java程序运行时所需要的基本条件和许多Java基础类,例如,IO类、GUI控件类、网络类等。

  JRE是提供给普通用户使用的,如果你只想运行别人开发好的Java程序,那么,你的计算机上必须且只需安装JRE。

  什么是JDK

  JDK(Java Development Kit,Java开发工具包),它包含编译工具、解释工具、文档制作工具、打包工具多种与开发相关的工具,是提供给Java开发人员使用的。

  JDK包含了JRE,同时还包含了编译java源码的编译器javac,还包含了很多java程序调试和分析的工具:jconsole,jvisualvm等工具软件,还包含了java程序编写所需的文档和demo例子程序。

  总结初学者学习和使用Java语言时,首先必须下载和安装JDK。JDK中已经包含了JRE部分,初学者安装JDK后不必再去下载和安装JRE了。

  如果你需要运行java程序,只需安装JRE就可以了。如果你需要编写java程序,需要安装JDK。

  JDK,JRE,JVM之间的区别

  JDK, JRE和JVM是java编程语言的核心概念。他们看起来有点相似。作为一个编程者我们似乎也并不是很关心这个概念。但是她们确实是有区别的,并且他们分别基于不同的目的的。本文将会分别解释这三个概念,并且说明他们之间的不同点。

  Java Development Kit (JDK)

  JDK是java环境的核心组件,它提供了编译、调试、执行一个java program必须要用到的可执行和二进制的所有tool。JDK是一个平台定制软件,这也是我们为什么要把安装版分为 for Windows, Mac and Unix。我们可以认为JDK就是一个jre的超集。因为jdk包含了含有java编译器、debugger以及一些核心类。

  JDK是为写代码的人准备的。

  Java Virtual Machine(JVM)

  而JVM是java编程语言的心脏,the heart。当我们run了一个program,JVM就开始负责把byte code转换成机器特定的code(machine specific code)。

  JVM也是平台无关的,并且提供了核心的java功能比如memory管理、gc(垃圾回收)、安全等等。

  JVM支持定制化,我们可以使用java的options(参数)来定制化JVM,什么意思呢?就是你可以给JVM设置最小memory和最大memory。 JVM被称为是一种虚拟化技术(virtual),是因为它提供了不依赖于底层的操作系统和硬件设备的接口。它这种不依赖硬件和操作系统的特点使得java program可以“write-once run-anywhere”。

  Java Runtime Environment (JRE)

  JRE是JVM的实现,JRE提供了platform(平台)来执行java program。JRE由JVM和java binaries以及确保能够成功执行任何program的其他class。记住了,JRE不包含任何和development有关的工具,比如java compiler,debugger等等。也就是jre不是给开发准备的,而是给运行准备的。如果你想要执行java program,你应该要安装JRE,就没必要安装JDK了。

  现在你应该明白了。JDK是为开发准备的,然而JRE只是为了run java的program。JDK 和 JRE 都包含JVM,因为它们都需要run 我们的java program。JVM是我们java编程语言的心脏(heart),JVM是平台无关的。

  猜你喜欢:

1.Java(jdk和jre)下载安装与环境变量的配置

2.Java SE和Java EE的区别

3.jdk安装后输入javac无法运行怎么办

4.java sdk环境变量怎么配置

5.关于经典JAVA面试题大全

6.java基础知识

7.2016年java面试题(2)

8.win7和win8下的jdk环境变量设置

3209196