“深入理解JVM:走近Java”的版本间差异
跳到导航
跳到搜索
(→概述) |
|||
第2行: | 第2行: | ||
== Java技术体系 == | == Java技术体系 == | ||
* 从广义上讲,Kotlin、Clojure、JRuby、Groovy等运行于Java虚拟机上的编程语言及其相关的程序都属于Java技术体系中的一员。 | |||
从传统意义上来看,JCP官方(Java Community Process,就是人们常说的“Java社区”)所定义的Java技术体系包括了以下几个组成部分: | |||
# Java程序设计语言 | |||
# 各种硬件平台上的Java虚拟机实现 | |||
# Class文件格式 | |||
# Java类库API | |||
# 来自商业机构和开源社区的第三方Java类库 | |||
* JDK(Java Development Kit):Java程序设计语言、Java虚拟机、Java类库,三部分的统称, | |||
*: JDK是用于支持Java程序开发的最小环境 | |||
* JRE(Java Runtime Environment):Java类库API中的Java SE API子集和Java虚拟机,两部分的统称, | |||
*: JRE是支持Java程序运行的标准环境。 | |||
[[File:Java技术体系所包括的内容.jpg|800px]] | |||
以Java技术体系划分为以下四条主要的产品线: | |||
# Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。 | |||
# Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,在JDK 6以前被称为J2ME。 | |||
#: Android 不属于Java ME ! | |||
# Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,JDK 6以前被称为J2SE。 | |||
# Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、MIS、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量有针对性的扩充(javax.* 下),JDK 6以前被称为J2EE; | |||
#: 在JDK 10以后被Oracle放弃,捐献给Eclipse基金会管理,此后被称为Jakarta EE。 | |||
== Java发展史 == | == Java发展史 == | ||
== Java虚拟机家族 == | == Java虚拟机家族 == |
2020年10月23日 (五) 00:52的版本
Java技术体系
- 从广义上讲,Kotlin、Clojure、JRuby、Groovy等运行于Java虚拟机上的编程语言及其相关的程序都属于Java技术体系中的一员。
从传统意义上来看,JCP官方(Java Community Process,就是人们常说的“Java社区”)所定义的Java技术体系包括了以下几个组成部分:
- Java程序设计语言
- 各种硬件平台上的Java虚拟机实现
- Class文件格式
- Java类库API
- 来自商业机构和开源社区的第三方Java类库
- JDK(Java Development Kit):Java程序设计语言、Java虚拟机、Java类库,三部分的统称,
- JDK是用于支持Java程序开发的最小环境
- JRE(Java Runtime Environment):Java类库API中的Java SE API子集和Java虚拟机,两部分的统称,
- JRE是支持Java程序运行的标准环境。
以Java技术体系划分为以下四条主要的产品线:
- Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。
- Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,在JDK 6以前被称为J2ME。
- Android 不属于Java ME !
- Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,JDK 6以前被称为J2SE。
- Java EE(Enterprise Edition):支持使用多层架构的企业应用(如ERP、MIS、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量有针对性的扩充(javax.* 下),JDK 6以前被称为J2EE;
- 在JDK 10以后被Oracle放弃,捐献给Eclipse基金会管理,此后被称为Jakarta EE。
Java发展史
Java虚拟机家族
虚拟机始祖:Sun Classic/Exact VM 武林盟主:HotSpot VM 小家碧玉:Mobile/Embedded VM 天下第二:BEA JRockit/IBM J9 VM 软硬合璧:BEA Liquid VM/Azul VM 挑战者:Apache Harmony/Google Android Dalvik VM 没有成功,但并非失败:Microsoft JVM及其他 百家争鸣
展望Java技术的未来
无语言倾向 新一代即时编译器 向Native迈进 灵活的胖子 语言语法持续增强
实战:自己编译JDK
获取源码 系统需求 构建编译环境 进行编译 在IDE工具中进行源码调试