回 帖 发 新 帖 刷新版面

主题:J2EE、J2SE、J2ME之间的关系

J2EE、J2SE、J2ME之间的关系
 
java 体系比较庞杂,功能繁多,这也导致很多人在自学 Java 的时候总是感觉无法建立全面的知识体系,无法从整体上把握 Java 的原因。在这里JAVA私塾把 Java 各版本之间的关系简单介绍一下。
 
Java 分成三种版本,分别是 Java 标准版(J2SE)、Java 微缩版(J2ME)和 Java 企业版(J2EE),每一种版本都有自己的功能和应用方向。 
 
J2SE,JAVA的标准版,用于开发一些桌面的应用程序,JAVA语言的基础;
 
J2EE,JAVA的企业版,用于开发一些企业级的应用,它的前提是学好J2SE;
 
J2ME,JAVA的micro版,用于开发一些嵌入式设备的程序,比如手机,PDA,电视机顶盒等程序的开发,也要求有J2SE的基础。
 
三个版本之间的关系如图:
 
[img]http://hiphotos.baidu.com/javass/pic/item/c211511f68159fef1bd5769a.jpg[/img]
 
Java 的 API 类库之中有一组所谓的核心类(CoreClass,即 java.*),在核心类之外还有所谓的扩充类(Extended Class,即 javax.*)。根据对这两种类的支持程度,进而区分出几种不同的 Java 版本。
 
我们必须以 Java  Standard Edition(J2SE)作为基准,这个版本做了所有 Java 标准规格之中所定义的核心类,也支持所有的 Java 基本类。J2SE 定位在客户端程序的应用上。
 
从 J2SE 往外延伸,其外面为 Java  Enterprise  Edition(J2EE),此版本除了支持所有的标准核心类外,而且还增加了许多支持企业内部使用的扩充类,支持  Servlet/JSP  的javax.servlet.*  类、支持 Enterprise  Java  Bean 的 javax.ejb.*  类。当然,J2EE 必定支持所有的 Java 基本类。J2EE 定位在服务器端(server-side)程序的应用上。 
 
从 J2SE 向内看,是 Java Micro Edition(J2ME),它所支持的只有核心类的子集合,在 J2MECLDC 的规格之中,只支持 java.lang.*  、java.io.*  、以及 java.util.*  这些类。此版本也增加了一些支持"微小装置"的扩充类,如  javax.microedition.io.*  类。然而,此版本并不支持所有的  Java  基本类,就标准的  J2MECLDC,  也就是能在  PalmOS  上执行KVM(KVirtualMachine)来说,它就不支持属于浮点数(float、double)的 Java 基本类。J2ME定位在嵌入式系统的应用上。 
 
最里层,还有一个 Java 的 Smart Card 版本,原本在 Java 的文件之中并没有这样定义,但是将它画在 J2ME 内部是很合理的。因为 SmartCard 版本只支持 java.lang.*  这个核心类,比起 J2ME 所支持的核心类更少,但它也有属于自己的扩充类,如 javacard.*、javacardx.*SmartCard版本只支持 Boolean 与Byte 这两种Java 基本类,  此版本定位在SmartCard的应用上。
 
更多资料请登陆java私塾的网站,上面还有一些视频教程,大家可以免费下载:www.javass.cn

回复列表 (共2个回复)

沙发

受教

板凳

欢迎加入java群 22160972欢迎加入java群 22160972
欢迎加入java群 22160972欢迎加入java群 22160972
欢迎加入java群 22160972欢迎加入java群 22160972
欢迎加入java群 22160972欢迎加入java群 22160972
欢迎加入java群 22160972欢迎加入java群 22160972
欢迎加入java群 22160972欢迎加入java群 22160972
欢迎加入java群 22160972欢迎加入java群 22160972

我来回复

您尚未登录,请登录后再回复。点此登录或注册