走进Java
前言
- 官方对Java平台的介绍
Java 是一种高级语言和独立于硬件的软件平台。它运行在全世界超过 5000 万台个人电脑和数十亿台设备上。900 万开发人员在所有主要行业都创建了 Java 应用程序。
Java 平台的两个主要组成部分是 Java 应用程序编程接口 (API) 和 Java 虚拟机 (JVM)。API 是 Java 命令行的库,JVM 将 Java 代码解释成机器语言。同一个应用程序可以在多个平台上运行:
Java体系结构
- Java体系概念图
-
Java各模块介绍
-
JRE(Java Runtime Envirnment)
JRE是支持Java程序运行的标准环境,提供运行用 Java 编程语言编写的应用和小程序所需的库、Java 虚拟机和其他组件。主要包括Java API类库中的Java SE API(如rt.jar)、Java虚拟机(如/bin/java即HotSpot)。
此外,JRE 还包括两项关键的部署技术:Java 插件 — 使小程序可以在常用浏览器中运行;以及 Java Web Start — 通过网络部署独立的应用。它还是用于企业软件开发和部署的 Java 2 Platform, Enterprise Edition (J2EE) 的基础。
-
JDK(Java Development Kit)
JDK称为Java开发包或Java开发工具,是一个编写Java应用程序的开发环境。JDK是整个Java的核心,包括了Java程序设计语言、Java运行环境(JRE)、一些Java工具(文档工具javadoc、打包工具jar.exe等)和更多Java类库(如tools.jar)。
-
Java虚拟机(Java Virtual Machine,JVM)
Java虚拟机(Java Virtual Machine,JVM)作为 Java 字节码执行引擎,它在多种操作系统和架构上提供 Java 运行时环境。Java HotSpot 虚拟机是 Java SE 平台的一个核心组件。它实现了 Java 虚拟机规范,并作为 Java 运行时环境中的一个共享库来提供。它包括class类加载器、JIT动态编译器、执行引擎、以及垃圾收集器等;
-
三大标准平台集合
- Java SE(Java Standard Edtion)
Java标准版提供了用于开发桌面和服务器端企业应用程序的API和工具,可以让您在桌面和服务器以及目前要求较高的嵌入式环境中开发和部署 Java 应用;
- Java EE(Java Enterprise Edition)
Java企业版是社区驱动的企业软件标准,提供了用于开发多层企业应用程序的API和工具,现如今,Java EE不仅仅是指一种标准平台,它更多的表达着一种软件架构和设计思想;
- Java ME(Java Micro Edition)
Java ME技术专门针对庞大的消费者空间,其涵盖了极小的商品范围,例如智能卡或寻呼机,直到机顶盒,几乎与计算机一样强大的设备。
Java语言的发展史
版本 | 描述 |
---|---|
1991年1月 | Sun公司成立了Green项目小组,专攻智能家电的嵌入式控制系统 |
1991年2月 | 放弃C++,开发新语言,命名为“Oak” |
1991年6月 | JamesGosling开发了Oak的解释器 |
1992年1月 | Green完成了Green操作系统、Oak语言、类库等开发 |
1992年1月 | Green计划转化成“FirstPerson”,一个Sun公司的全资母公司 |
1993年2月 | 获得时代华纳的电视机顶盒交互系统的订单,于是开发的重心从家庭消费电子产品转到了电视盒机顶盒的相关平台上。 |
1994年6月 | FirstPerson公司倒闭,员工都合并到Sun公司。Liveoak计划启动了,目标是使用Oak语言设计出一个操作系统。 |
1994年7月 | 第一个Java语言的Web浏览器WebRunner(后来改名为HotJava),Oak更名为Java。 |
1994年10月 | VanHoff编写的Java编译器用于Java语言 |
1995年3月 | 在SunWorld大会,Sun公司正式介绍了Java和HotJava。 |
1996年1月 | JDK1.0发布 |
1997年2月 | J2SE1.1发布 |
1998年12月 | J2SE1.2发布 |
1999年6月 | 发布Java的三个版本:J2SE、J2EE、J2ME |
2000年5月 | J2SE1.3发布 |
2001年9月 | J2EE1.3发布 |
2002年2月 | J2SE1.4发布 |
2004年9月 | J2SE1.5发布,将J2SE1.5改名JavaSE5.0 |
2005年6月 | JavaSE6.0发布,J2EE更名为JavaEE,J2SE更名为JavaSE,J2ME更名为JavaME |
2006年12月 | JRE6.0发布 |
2006年12月 | JavaSE6发布 |
2009年12月 | JavaEE6发布 |
2009年4月 | Oracle收购Sun |
2011年7月 | JavaSE7发布 |
2014年3月 | JavaSE8发布 |
知识拓展
- JDK 与 OpenJDK
2006年11月13日,OracleJDK开源项目为OpenJDK,两者代码基本相同,可以认为性能、功能、执行逻辑是一致的;
区别:OpenJDK采用GPL V2协议放出,而SunJDK则采用JRL放出。两者协议虽然都是开放源代码的,但是在使用上的不同在于GPL V2允许在商业上使用,而JRL只允许个人研究使用,所以OpenJDK中没有SunJDK中的一些商用闭源的功能,如JMX中的可选元件SNMP部份的代码、Deployment(部署)功能等。
后记
- 总结&后续action
本文主要对Java平台的技术体系、Java三大标准平台以及按照时间轴介绍Java的发展史做了简单的介绍,希望通过本文可以有助你对Java语言有基本的认识和理解。那么你对Java语言有多少认识?Java语言相比其他语言有哪些优势?
后续会介绍Java前端编译器(javac)的执行过程也就是javac命令如何将User.java转化为User.class的过程。