Java技术体系简介
广义
广义上讲,Clojure、JRuby、Groovy等运行在Java虚拟机上的语言及其相关的程序都属于Java技术体系的一员。
传统意义
Sun官方定义的Java技术体系包括以下几个组成部分:
Java程序设计语言
各种硬件平台上的Java虚拟机
Class文件格式
Java API类库
来自商业机构和开源社区的第三方Java类库
即: Java语言, Class文件规范, 各种虚拟机, API及第三方类库。
JDK = Java语言 + Java虚拟机 + Java API类库 (支持Java程序开发的最小环境)
JRE = Java虚拟机 + Java SE API子集 (支持Java程序运行的最小环境)
Java SE API子集
Java SE API子集包括:
| 功能 | 类库 |
|---|---|
| 用户界面 | AWT, Swing, Java 2D |
| 相关技术 | Accessbility, Drag n Drop, Input Methods, Image I/O, Print Service, Sound |
| 集成库 | IDL, JDBC, JNDI, RMI, RMI.IIOP, Scripting |
| 其他基础库 | Beans, Intl Support, I/O, JMX, JNI, Math, Networking, Override Mechanism, Security, Serialization, Extension Mechanism, XML, JAXP |
| 语言和工具基础库 | lang and util, Collections, Concurrency Utilities, JAR, Logging, Management, Preferences API, Ref Objects, Reflection, Regular Expressions, Versioning, Zip,Instrument |
| Java虚拟机 | Java Hotpot ClientVM, Java Hotpot Server VM |
JRE
JRE除了完全包括Java SE API, 还包括程序发布相关组件:
Deployment, Java WEb Start, Java Plug-in
JDK
JDK除了完全包括JRE, 还包括:
Java语言(Java Language)
工具及工具API(java, javac, javadoc, apt, jar, javap, JPDA, JConsole, Java VisualVM, Security, Int`l, RMI, IDL, Deploy, Monitoring, Troubleshoot, Scripting, JVM TI)
Java技术平台
Java技术关注的重点业务领域来划分,Java技术体系可分为四个平台:
Java Card: 支持一些Java小程序(Applets) 运行在小内存设备(如智能卡)上的平台。
Java ME(Micro Edition): 支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简, 并加入了针对移动终端的支持,这个版本以前称为J2ME。
Java SE(Standard Edition): 支持面向桌面级应用(如Windows下的应用程序)的Java平台,提供了完整的Java核心API,这个版本以前称为J2SE。
Java EE(Enterprise Edition): 支持使用多层架构的企业应用(如ERP、CRM应用)的Java平台,除了提供Java SE API外,还对其做了大量的扩充并提供了相关的部署支持,这个版本以前称为J2EE。