目录

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

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

Java三大版本及 JVM JDK JRE 及 SDK API相关推荐

  1. java-01 JAVA三大版本比较JDK、JRE、JVM 的关系

    1. java三大版本比较 1.1 java SE javaSE 是java标准版的简称,其定位是个人计算机应用(应用原生界面比较ugly) 全称:Java Platform Standard Edi ...

  2. JVM JDK JRE JSE的简单介绍

    java是面向对象编程,一切皆对象.这个观念要以后慢慢才能了解,无论怎么样讲都是初学者理解不了的.所以还需要多多练习. C语言是面向过程编程的.所以没有"类"的概念,而java的类 ...

  3. JVM/JDK/JRE/IDE—区别

    1..JVM -- java virtual machine        JVM就是我们常说的java虚拟机,它是整个java实现跨平台的最核心的部分,所有的java程序会首先被编译为.class的 ...

  4. Java三大版本,JDK,JER,JVM知识

    JavaSE: 标准版,基础核心版. 是为开发普通的桌面和商务应用程序提供的可解决的方式,是后面两个技术的基础,可以完成一些桌面应用程序的开发. JavaME: 小型版,是为了开发电子消费产品和嵌入式 ...

  5. 重学java基础第十五课:java三大版本

  6. JDK,JRE和JVM三者的关系以及java的运行机制,环境变量,三大版本,特点

    JDK,JRE和JVM 1.JVM Java Virtual Machine是Java虚拟机,Java程序需要运行在虚拟机上,不同的平台有自己的虚拟机,因此Java语言可以实现跨平台. 所谓跨平台性, ...

  7. Java--Java三大版本 JDK 和 JRE

    1. Java三大版本 JAVA最大的特点: Java的主要优势在于其做出的WORA:即一次编写(Write Once).随处运行(Run Anywhere).简单来讲,这意味着开发团队能够利用Jav ...

  8. Java基础学习01(JDK)

    写在前言: 毕业已经好久了,但是技术还是在很菜很菜的阶段,所以想通过写博客来梳理知识点,也算是做笔记吧,共勉! 一.貌似每次换电脑都会安装jdk,但是好像从来没问过,为什么要装jdk,其实任何事物都需 ...

  9. 【Java网络编程】:JDK API实现OIO和NIO

    前言 网络编程是Java的一大难点,JDK自带的api可以实现网络编程. 我们将从一个应用程序开始我们对传输的学习,这个应用程序只简单地接受连接,然后向客户端写"Hi!",然后关闭 ...

最新文章

  1. FreeRTOS 临界段和开关中断
  2. POJ1364基本的查分约束问题
  3. 修改so_新手向总结:IDA动态调试So的一些坑
  4. VMWare虚拟机下为Ubuntu 12.04.1配置静态IP(NAT方式)
  5. 可用等式为:html+java=jsp表示jsp[8]._java jsp
  6. 自由源自于自律 及其他三则分享
  7. [JSOI2008]最小生成树计数
  8. java调用python_Python教程:17个冷门但实用的小技巧
  9. 科普:Windows下Netcat使用手册
  10. GitHub的常用命令---终端操作
  11. 视频编解码器,bbv 缓冲区溢出和下溢
  12. 无重复字符最长字串的滑动窗口结合哈希表解法(注释详尽)
  13. protobuf序列化使用说明
  14. Linux文本三剑客超详细教程---grep、sed、awk
  15. ffmpeg1.2的filter分析
  16. php pdf 生成分页,关于XSL生成PDF分页的问题
  17. 用Python做一款上课点名程序(附源码)
  18. mysql修改my.ini_MySQL配置文件(my.ini)详解
  19. 狼性教育——让孩子成为主宰命运地强者
  20. 沃丰科技AI助力客户服务数字化转型加速

热门文章

  1. Springboot部署Nginx,配合Supervisor管理Springboot进程
  2. 转载一个特征提取的方法——AE
  3. JavaScript DOM 删除子节点的;两种操作
  4. JUDE工具类图制作
  5. 添加Adobe PDF 打印机
  6. BQ25798双电源输入4节电池升降压充电与最大功率跟踪于光伏板应用
  7. 游戏设计艺术 第2版 第30章 读书笔记
  8. 小米10开始抓取日志怎么关闭_除了*#*#6485#*#*,小米手机还有这些神秘暗号
  9. 自然语言处理在电商的技术实践
  10. 注意到函数preg_replace_callback和preg_replace