“深入理解JVM:走近Java”的版本间差异

来自Wikioe
跳到导航 跳到搜索
第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技术体系包括了以下几个组成部分:

  1. Java程序设计语言
  2. 各种硬件平台上的Java虚拟机实现
  3. Class文件格式
  4. Java类库API
  5. 来自商业机构和开源社区的第三方Java类库
  • JDK(Java Development Kit):Java程序设计语言、Java虚拟机、Java类库,三部分的统称,
    JDK是用于支持Java程序开发的最小环境
  • JRE(Java Runtime Environment):Java类库API中的Java SE API子集和Java虚拟机,两部分的统称,
    JRE是支持Java程序运行的标准环境。


Java技术体系所包括的内容.jpg


以Java技术体系划分为以下四条主要的产品线:

  1. Java Card:支持Java小程序(Applets)运行在小内存设备(如智能卡)上的平台。
  2. Java ME(Micro Edition):支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,在JDK 6以前被称为J2ME。
    Android 不属于Java ME !
  3. Java SE(Standard Edition):支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,JDK 6以前被称为J2SE。
  4. 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工具中进行源码调试

本章小结