什么是SDK JDK JRE JAR API以及其间的关系
SDK
SDK全称Software Development Kit,中文意思为 “软件开发工具包”,是一个覆盖范围相当广的名词,可以说辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做 SDK。SDK是一系列文件的集合,他为软件的开发提供一个平台为软件开发使用提供各种API提供便利
JDK
JDK全程为 (Java Development Kit),中文意思 Java开发工具包 是SUN Microsystems针对Java开发员的产品,JDK已经成为使用最广泛的JAVA SDK 。可以认为JDK是SDK的一个子集 。
JDK深入
JDK是整个Java的核心,包括Java运行环境JRE、一堆Java工具(javac/java/jdb等)和java基础的类库(Java API、tr.jar等)
JRE
JRE(Java Runtime Environment[Java运行环境]) 是运行基于Java语言编写的程序所不可缺少的运行环境。也是通过它,Java的开发者才得以将自己开发的程序发布到用户手中,让用户使用。
JRE中包含了Java virtual machine(JVM),runtime class libraries和Java application launcher,这些是运行Java程序的必要组件。
与大家熟知的JDK不同,JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户
JVM
Java Virtual Mechinal(JAVA虚拟机)。JVM是JRE的一部分,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM有自己完善的硬件架构,如处理器、堆栈、寄存器等,还具有相应的指令系统。
SDK JDK JRE JVM之间的关系图
jar
jar包就是别人已经写好的一些类,然后将这些类进行打包,你可以将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法
SDK和API关系
SDK和API的区别SDK相当于开发集成工具环境,API就是数据接口。在SDK环境下调用API数据
实际上SDK包含了API的定义,API定义一种能力,一种接口的规范,而SDK可以包含这种能力、包含这种规范。但是SDK又不完完全全只包含API以及API的实现,它是一个软件工具包,它还有很多其他辅助性的功能。
SDK 包含了使用 API 的必需资料,所以人们也常把仅使用 API 来编写 Windows 应用程序的开发方式叫做“SDK编程”。
通俗语言解释API前端调用后端数据的一个通道,就是我们俗说的接口,通过这个通道,可以访问到后端的数据,但是又无需调用源代码。