JDK,JRE,JVM的区别与联系

JDK (Java Development ToolKit)是Java 语言的软件开发工具包。

JDK是整个JAVA的核心,包括了JRE(Java Runtime Environment,Java运行环境),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API)。

JDK有以下三个版本:

  1)SE(J2SE),standard edition,标准版,是我们通常用的一个版本,从JDK5.0开始,改名 为Java SE。

  2)EE(J2SE),enterprise edition,企业版,是使用这种JDK开发J2EE应用,从JDK5.0开始,改名为Java EE。

  3)ME(J2ME),micro edition,主要用于移动设备、嵌入式设备上的java应用程序,从JDK5.0 开始,改名为Java ME。

 

JRE(Java Runtime Environment)Java运行环境。

JRE(包括Java Plug-in)是sun的产品,包括两部分:Java Runtime Environment和Java Plug-in。

Java Runtime Environment是可以在其上运行、测试和传输应用程序的Java平台。它包括Java虚拟机(jvm)、Java核心类库和支持文件。它不包含开发工具(JDK)--编译器、调试器和其他工具。JRE需要辅助软件(Java Plug-in)以便在浏览器中运行applet。没有jdk的话,无法编译Java程序,但在有JRE环境的系统上可以运行程序。所以当你只需要运行Java程序或Applet时,下载并安装JRE即可。如果你要自行开发Java软件,请下载JDK。

 

JVM(Java Virtual Machine)Java虚拟机。

JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java语言的一个非常重要的特点就是于平台的无关性。而使用Java虚拟机是实现这一特点的关键。一般高级语言如果要在不同的平台上运行,至少需要编译成不同的目标代码。而引入Java语言虚拟机后,Java语言在不同平台上运行时不需要重新编译。Java语言使用Java虚拟机屏蔽了于具体平台相关的信息,使得Java语言编译只需要在生成Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改的运行。Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令来执行。这就是Java能够“一次编译,到处运行”的原因。

这是三者的关系图:

 

 

 

 

 

 

 

 

 

最后简要说说SDK。

 SDK (Software Development Kti)中文意思是“软件开发工具包”。

这是一个覆盖相当广泛的名词,可以这么说:辅助开发莫一类软件的相关文档、范例和工具的集合都可以叫做“SDK”。SDK是一系列文件的组合,它为软件开发提供一个平台(它为软件开发使用各种api提供便利)。

可以认为jdk是sdk的一种(子集),因为它是开发java程序的平台,开发其他程序的sdk可以没有jdk。比如你下载了一个软件开发平台 (eclipse-sdk-3.2.2-win32.zip),它本身里面没有jdk的。但是只要开发java程序就必须使用jdk。

转载于:https://my.oschina.net/u/2439286/blog/787115

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值