SDK(Software Develop Kit,软件开发工具包),用于帮助开发人员的提高工作效率。各种不同类型的软件开发,都可以有自己的SDK。Windows有Windows SDK,DirectX 有 DirectX 9 SDK,.NET开发也有Microsoft .NET Framework SDK。JAVA开发也不含糊,也有自己的Java SDK。
Java SDK最早叫Java Software Develop Kit,后来改名为JDK,即Java Develop Kit。
JDK作为Java开发工具包,主要用于构建在Java平台上运行的应用程序、Applet 和组件等。
JRE(Java Runtime Environment,Java运行环境),也就是Java平台。所有的Java程序都要在JRE下才能运行。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是安装的一部分。所以,在JDK的安装目录下有一个名为jre的目录,用于存放JRE文件。
JVM(Java Virtual Machine,Java虚拟机)是JRE的一部分。它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。Java语言最重要的特点就是跨平台运行。使用JVM就是为了支持与操作系统无关,实现跨平台。
虚拟机规范规定了.class文件的格式、类装载的规则、运行时内存的逻辑区块、方法调用时栈的动作等等。一旦某个虚拟机的具体实现(如Open JDK)声称它实现了Java虚拟机规范,那么也就是同时声称它在运行时的外部行为跟规范中所描述的是一样的。对于Java程序员而言,他的“平台”只有一个,就是虚拟机规范,只要他的.class编译完,无论到哪一个虚拟机上,Open JDK也好,JRockit也好,Sun JDK也好,甚至芯片级实现的JVM也好,都应该能够正常运行。这就是Java跨平台的真正涵义(当然,实际项目中,100%的跨平台项目是很少的,比如有些没有完全遵守规范写出的bug,在这个虚拟机上运行的时候或许能糊弄过去,但在另一个虚拟机上却未必能够)。
我们不能天真地认为,“跨平台”就可以没有平台,事实上无论怎样我们总需要至少一个的。此外,即使是“跨平台”也是相对的,一个平台因为没有JVM的实现而“跨”不上去,太正常了,世上哪有什么绝对的事。
分享到:
相关推荐
压缩包子文件的文件名"Java8.jre.tar"和"Java8.sdk.tar"分别代表JRE和SDK的打包文件,".tar"是一种常见的归档文件格式,通常用于Linux和UNIX系统中,用于将多个文件或目录打包成一个单一的文件以便传输和存储。...
简单来说,JDK是面向开发人员使用的SDK(Software Development Kit),它不仅提供了Java的运行环境,还包含了一系列用于Java开发的工具和服务。 ##### JDK的主要组成部分包括: - **编译器**:例如`javac`,用于将...
### JDK、JRE、J2SDK与Eclipse SDK之间的关系 #### 1. JDK与JRE的关系 **JRE(Java Runtime Environment)**,即Java运行时环境,它包含了运行Java程序所需的基本组件,如Java虚拟机(JVM)、核心类库等。简单来说...
3. **JVM、JRE和JDK的关系** - **JVM**(Java虚拟机)是JRE的核心部分,负责执行Java字节码。 - **JRE** 包含了JVM以及运行Java程序所需的基本类库和其他资源。 - **JDK** 包含了JRE的所有组件,并增加了用于...
2. "Java8_64.sdk.tar" 是JDK 1.8的64位版本,除了包含JRE的所有内容外,还提供了Java编译器(javac)、打包工具(jar)、文档生成工具(javadoc)等开发者工具。 3. "aix JDK8 - 64.txt" 可能是一份关于AIX平台上的...
它不仅包含了Java编译器、Java运行时环境(JRE),还提供了许多开发工具,如JavaDoc、Java虚拟机(JVM)、Java调试器(JDB)等。这个版本主要的新增功能包括: 1. **Lambda表达式**:这是Java 8最大的亮点之一,它...
至于JVM(Java Virtual Machine),它是JRE的一部分,也是JDK中不可或缺的部分。JVM负责执行Java字节码,使之在不同的操作系统上运行而无需修改。JRE目录下的bin文件夹内有server和client两个文件夹,这两个文件夹...
"jre1.8.0-361"和"jdk1.8.0-131"指的是Java运行时环境(JRE)和Java开发工具包(JDK),分别是Java应用程序执行所需的环境和开发Java应用程序的工具集。JRE 1.8.0_361和JDK 1.8.0_131是Oracle公司发布的Java 8更新...
本书特色有:说明JDK,JRE与JVM三者的关系:探讨Java应用程序的执行流程,让您以后不会再为JDK与JRE的版本问题苦恼;讲解类别载入器的运作机制:类别载入器兼具Java程序的弹性与安全性两项重大任务,您不能不了解它...
深入理解Java 2 SDK:JDK、JRE与JVM 在探讨Java 2 SDK时,我们首先要明白几个核心概念:Java Development Kit (JDK),Java Runtime Environment (JRE)和Java Virtual Machine (JVM)。这三个术语在Java开发领域至关...
IBM的JDK1.8 64位版本包含了Java运行环境(JRE)和Java开发工具集(SDK)。其中,JRE使得用户能够在AIX系统上执行Java程序,而SDK则提供了编译、调试和性能分析等开发所需工具。 在提供的压缩包文件中,有两个重要...
Java Development Kit(JDK)是Java编程语言的核心组件,它包含了一个Java运行环境(JRE)、编译器(javac)、各种工具(如jar、javadoc等)以及Java类库,使得开发者能够编写、编译、调试和运行Java程序。JDK的不同...
本书特色有:说明JDK,JRE与JVM三者的关系:探讨Java应用程序的执行流程,让您以后不会再为JDK与JRE的版本问题苦恼;讲解类别载入器的运作机制:类别载入器兼具Java程序的弹性与安全性两项重大任务,您不能不了解它...
在提供的压缩包"jdk1.8.0_66.zip"中,包含了JDK 1.8.0_66的Windows版本,以及对应的Java Runtime Environment(JRE)。 JDK 1.8.0_66是Oracle公司发布的一个更新版本,主要提供对Java 8特性的支持。这个版本包含了...
JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。 JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。 SE(JavaSE),standard edition,标准版,是我们通常用的一个...
对于Java开发者来说,JDK是必不可少的,因为它包含了Java编译器(javac)、Java虚拟机(JVM)、Java运行时环境(JRE)、Java文档生成器(javadoc)以及各种实用工具,如jar打包工具等。JDK 8u231是Oracle公司发布的...