目录

1.三大版本

2. JDK JRE JVM

3. SDK API


1.三大版本

JavaSE: 标准版,整个Java的基础及核心,主要用于开发桌面程序及控制台程序。

JavaME: 移动版,基本已死,没什么人学习。

JavaEE:企业版,web端,服务器开发。

学好JavaEE的基础是将JavaSE基础打牢固。


2. JDK JRE JVM

JDK: Java Development Kit

JRE: Java Runtime Enviroment

JVM: Java Virtual Machine

JDK: java开发者工具,根据上图易知 包含了JRE 和 JVM, 此外还有一些自己的一些工具,用于程序开发。

JRE: java运行时环境,也就是说只要安装了JRE就可以运行java程序,但是如果学开发就要用JDK.
JRE是Java运行环境,并不是一个开发环境,所以没有包含任何开发工具(如编译器和调试器),只是针对于使用Java程序的用户。

JVM: java虚拟机,可简单理解为一种规范,可以用软件来实现,也可以用硬件来实现。相当于在所有的操作系统上模拟了一个小巧的CPU, 处理java相关的东西,这也是java跨平台特性的原因。通过java虚拟机,屏蔽了底层系统的差别。实现 Witre Once Run Anywhere !

就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的类文件,这种类文件可以在虚拟机上执行。

也就是说class并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行。

只有JVM还不能成class的执行,因为在解释class的时候JVM需要调用解释所需要的类库lib,而jre包含lib类库。

JVM屏蔽了与具体操作系统平台相关的信息,使得Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。


3. SDK API

SDK (Software Development Kit)=软件开发工具包

可用于开发面向特定平台的软件应用程序的工具包。举个例子,如果你想组装一个模型车或飞机。在构建这个模型时,需要一整套物品去组装。SDK相当于组装它们所需的工具,包括装配说明等等。

SDK是一系列程序接口,文档,开发工具的集合。是的,集合,sdk即单单不是一个开发工具,也不是一个程序。一个完整的SDK应该包括以下内容:(1)接口文件和库文件(2)帮助文档(3)开发示例(4)实用工具。

接口文件和库文件就是API,将底层的代码进行封装保护,提供给用户一个调用底层代码的接口;
帮助文档解释接口文件和库文件功能,以及介绍相关的开发工具,操作示例等等;
开发示例就是做出来的一个DEMO展示,也要包括源代码;
实用工具是用来协助用户进行二次开发的工具,比如二次开发向导、API 搜索工具、软件打包工具等。

有过java编程经历的都知道,要运行java需要在电脑上安装jdk。jdk就是java SDK ,其安装过程就是下载一个EXE(Windows下)的应用程序,点一下就OK了,看起来好像jdk就是一个应用程序。实际上这个在网上下载下来的应用程序只是jdk的一个安装向导,它帮你在电脑上安装了Java的运行环境,一堆Java工具和Java基础的类库,这些东西组合起来才是JDK的核心内容。
通过上述的示例,相信你大概明白了sdk包含些什么东西了。

API (Application Programming Interface)=应用程序编程接口

通过一套套的要求,用来管理应用程序之间的沟通。一个API相当于你跟它说要求,它会为你完成任务。而且你不需要知道它是如何做到的,你只需要问你想要的东西。

API即“应用程序编程接口”,是一些预先定义的函数,目的是作为“介面”沟通两个不同的东西,提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

其实就是别人已经写好的可以实现特定功能的函数,而你只需要根据他提供好的接口,也就是调用他的方法,传入他规定的参数,然后这个函数就会帮你实现这些功能。