作者:谷和啟 發(fā)文時(shí)間:2002.09.19 13:46:50
隨著Internet網(wǎng)絡(luò)的迅速發(fā)展,基于互聯(lián)網(wǎng)的企業(yè)應(yīng)用要求軟件平臺(tái)具有開(kāi)放性、分布性和平臺(tái)無(wú)關(guān)性。于是就相繼出現(xiàn)了RPC/COM/CORBA等技術(shù),但這些技術(shù)在實(shí)際應(yīng)用中存在著許多不足和局限。它們的特定協(xié)議難以通過(guò)防火墻,因而不適于Web上的應(yīng)用開(kāi)發(fā)。為了進(jìn)一步開(kāi)發(fā)基于Web的應(yīng)用,出現(xiàn)了Sun公司的Sun ONE(Open Net Environment 開(kāi)發(fā)網(wǎng)絡(luò)環(huán)境)和Microsoft公司的.NET等Web 服務(wù)技術(shù)體系。
Sun ONE體系結(jié)構(gòu)以Java語(yǔ)言為核心,包括J2SE/J2EE/J2ME和一系列的標(biāo)準(zhǔn)、技術(shù)及協(xié)議。它包括Sun獨(dú)有的iPlanet軟件系列,其中有在市場(chǎng)上受歡迎的LDAP目錄服務(wù)器軟件,以及Forte for Java——便于在任何環(huán)境下書(shū)寫(xiě)Java 語(yǔ)言的軟件工具。我們很容易就能從網(wǎng)上免費(fèi)獲得和使用包括Java 集成開(kāi)發(fā)環(huán)境、Java數(shù)據(jù)庫(kù)和中間件(Application Server)服務(wù)器等產(chǎn)品,以及它們的源代碼。Sun ONE更接近或能滿(mǎn)足互聯(lián)網(wǎng)在智能化Web服務(wù)方面對(duì)分布性、開(kāi)發(fā)性和平臺(tái)無(wú)關(guān)性的要求。
隨著Java技術(shù)的不斷發(fā)展,它根據(jù)市場(chǎng)進(jìn)一步細(xì)分為:針對(duì)企業(yè)網(wǎng)應(yīng)用的J2EE(Java 2 Enterprise Edition)、針對(duì)普通PC應(yīng)用的J2SE(Java 2 Standard Edition)和針對(duì)嵌入式設(shè)備及消費(fèi)類(lèi)電器的J2ME(Java 2 Micro Edition)三個(gè)版本。本文就Sun ONE的Java核心應(yīng)用——J2SE/J2EE/J2ME作一些介紹。
J2EE技術(shù)應(yīng)用
J2EE是Sun公司推出的一種全新概念的模型,比傳統(tǒng)的互聯(lián)網(wǎng)應(yīng)用程序模型更有優(yōu)勢(shì)。
J2EE模型
J2EE的應(yīng)用編程模型(J2EE Blueprints)提供了一種用于實(shí)施基于J2EE多層應(yīng)用的文檔和實(shí)例套件的體系模型,簡(jiǎn)化了這項(xiàng)復(fù)雜的工作。它被開(kāi)發(fā)人員用作設(shè)計(jì)和優(yōu)化組件,以便開(kāi)發(fā)人員從策略上對(duì)開(kāi)發(fā)工作進(jìn)行分工。
J2EE應(yīng)用編程模型要求開(kāi)發(fā)者將自己的工作分成兩類(lèi):商業(yè)邏輯和表示邏輯,其余則由系統(tǒng)資源自動(dòng)處理,不必為中間層管道進(jìn)行編碼。這樣,開(kāi)發(fā)人員就能將更多的時(shí)間花在商業(yè)邏輯和表示邏輯上。對(duì)重視縮短項(xiàng)目周期的公司來(lái)說(shuō),這種轉(zhuǎn)變深受歡迎。
J2EE平臺(tái)
J2EE平臺(tái)是運(yùn)行J2EE應(yīng)用的標(biāo)準(zhǔn)環(huán)境,由J2EE部署規(guī)范(一套所有J2EE平臺(tái)產(chǎn)品都必須支持的標(biāo)準(zhǔn))、IETF標(biāo)準(zhǔn)集和CORBA標(biāo)準(zhǔn)組成。最新的J2EE平臺(tái)還添加了JavaBean組件模型。開(kāi)發(fā)人員可以利用JavaBean組件模型來(lái)自定義Java類(lèi)實(shí)例,并可通過(guò)已定義的事件訪問(wèn)Java類(lèi)。
J2EE支持EJB,因此開(kāi)發(fā)人員可以執(zhí)行多用戶(hù)交易功能。當(dāng)在J2EE服務(wù)器上運(yùn)行時(shí),Enterprise JavaBeans將應(yīng)用邏輯分成可再利用和可擴(kuò)展的代碼段。Enterprise JavaBeans并不是新特征,但是通過(guò)定義標(biāo)準(zhǔn)客戶(hù)端和服務(wù)API,J2EE增強(qiáng)了它的能力和可移植性。
EJB在服務(wù)器的一個(gè)容器內(nèi)運(yùn)行,提供所有典型的中間層服務(wù),如事務(wù)管理、安全、遠(yuǎn)程客戶(hù)連接、生存周期管理和數(shù)據(jù)庫(kù)連接緩沖。為了讓事務(wù)系統(tǒng)在存在EJB容器的情況下運(yùn)行,開(kāi)發(fā)人員只需在部署描述文件中定義Beans的事務(wù)屬性即可。
J2EE通過(guò)定義一組標(biāo)準(zhǔn)的結(jié)構(gòu)來(lái)實(shí)現(xiàn)它的優(yōu)勢(shì),例如:
1.J2EE Application Programming Model,是一種用于開(kāi)發(fā)多層次、瘦型客戶(hù)用戶(hù)程序的標(biāo)準(zhǔn)設(shè)計(jì)模型;
2. J2EE Platform,是一個(gè)標(biāo)準(zhǔn)的平臺(tái),用來(lái)整合J2EE的應(yīng)用程序,并指定一系列的接口和方法;
3. J2EE Compatibility Test Suite,是一套兼容測(cè)試組件,用來(lái)檢測(cè)產(chǎn)品是否同J2EE平臺(tái)兼容;
4.J2EE Reference Implementation,用來(lái)示范J2EE的能力。
J2EE服務(wù)器
Sun的J2EE服務(wù)器通過(guò)Java 命名和目錄接口(JNDI)、認(rèn)證、HTTP及與Enterprise JavaBeans兼容的能力,提供命名和目錄服務(wù)。JNDI是Java平臺(tái)的一種標(biāo)準(zhǔn)擴(kuò)展版,向企業(yè)內(nèi)的命名和目錄服務(wù)提供具有Java功能的,帶有統(tǒng)一接口的應(yīng)用,包括LDAP。
J2EE服務(wù)器還利用了Java Servlet技術(shù)。Java Servlet可以看作是運(yùn)行在服務(wù)器上的一個(gè)小程序,它向開(kāi)發(fā)人員提供以組件為基礎(chǔ)創(chuàng)建基于Web應(yīng)用的、獨(dú)立于平臺(tái)的方法。它不像利用CGI那樣具有性能局限。Java Servlet是一種擴(kuò)展Web服務(wù)器功能的簡(jiǎn)單技巧。由于它是用Java編寫(xiě)的,因而能夠訪問(wèn)整個(gè)Java API庫(kù),也包括用于訪問(wèn)企業(yè)數(shù)據(jù)庫(kù)的JDBC API。
JSP是Java Servlet的一種擴(kuò)展。Java Servlet提供開(kāi)發(fā)和顯示來(lái)自服務(wù)器的交互式Web頁(yè)。如今JSP又有了進(jìn)一步的改進(jìn),它使得創(chuàng)建和支持靜態(tài)模板和動(dòng)態(tài)內(nèi)容相結(jié)合的HTML和XML頁(yè)面更加容易。
安全性
J2EE平臺(tái)定義了一種標(biāo)準(zhǔn)的公開(kāi)存取控制規(guī)則,當(dāng)程序在企業(yè)平臺(tái)上開(kāi)發(fā)時(shí)就已被程序師定義和解釋了。J2EE也需要提供一個(gè)標(biāo)準(zhǔn)的注冊(cè)機(jī)制,以便應(yīng)用程序不會(huì)將這些注冊(cè)機(jī)制和邏輯相混合,從而使相同的工作執(zhí)行于大量的不同環(huán)境中時(shí)并不需要改變?cè)创a。例如:J2EE應(yīng)用程序開(kāi)發(fā)人員可以指定幾個(gè)安全級(jí)別,當(dāng)用戶(hù)訪問(wèn)數(shù)據(jù)時(shí),他們可寫(xiě)出代碼來(lái)檢查當(dāng)前用戶(hù)權(quán)限的級(jí)別。在開(kāi)發(fā)階段,開(kāi)發(fā)人員賦予多組用戶(hù)適當(dāng)?shù)陌踩?jí),使應(yīng)用程序在執(zhí)行限制操作之前能夠容易的判斷限制級(jí)。
J2EE 平臺(tái)是Java技術(shù)企業(yè)級(jí)應(yīng)用的最佳平臺(tái),它可以讓程序員迅速、快捷地開(kāi)發(fā)和分布企業(yè)級(jí)應(yīng)應(yīng)用程序。以下便是它的相關(guān)技術(shù):
1.Enterprise JavaBeans Architecture,企業(yè)級(jí)JavaBeans 定義了一個(gè)應(yīng)用程序接口。它可以使程序員迅速開(kāi)發(fā)、發(fā)布和管理跨平臺(tái)的、基于組件的企業(yè)級(jí)應(yīng)用程序。
2.JavaServer Pages,JSP 技術(shù)提供了一種簡(jiǎn)單、快速的方法來(lái)創(chuàng)建動(dòng)態(tài)網(wǎng)頁(yè)。通過(guò)它,可以快速地開(kāi)發(fā)基于Web的應(yīng)用程序,并且這些應(yīng)用程序都是與平臺(tái)無(wú)關(guān)的。因?yàn)镴SP與ASP很相似,所以熟悉ASP的人學(xué)習(xí)它就很容易了。
3.Java Servlet,提供了應(yīng)用程序接口。通過(guò)它可以簡(jiǎn)單快速地開(kāi)發(fā)并擴(kuò)展服務(wù)器功能。就發(fā)展趨勢(shì)來(lái)看,它將來(lái)有可能取代CGI。
4.J2EE Connector,提供了一種標(biāo)準(zhǔn)結(jié)構(gòu)來(lái)聯(lián)接不同的企業(yè)信息平臺(tái)。
5.Java Naming and Directory Interface(JNDI),在Java 平臺(tái)與商業(yè)信息之間,JNDI提供了統(tǒng)一、無(wú)縫的標(biāo)準(zhǔn)化連接。通過(guò)使用JNDI,程序員可以在企業(yè)多命名與目錄服務(wù)之間傳送Java 應(yīng)用程序。
6.Java Interface Definition Language(JIDL),通過(guò)使用CORBA,可以提供協(xié)同工作的能力。JIDL包括一個(gè)IDL-to-Java 編譯器和支持IIOP(Internet Inter-Orb Protocol)的ORB。
7.JDBC,幾乎是為所有的數(shù)據(jù)庫(kù)提供了統(tǒng)一的接口,同時(shí)可以創(chuàng)建高級(jí)工具和接口。
8.Java Message Service(JMS),它幾乎規(guī)范了所有企業(yè)級(jí)消息服務(wù),如可靠查詢(xún)、發(fā)布消息、訂閱雜志等各種各樣的PUSS/PULL技術(shù)的應(yīng)用,并且為它們提供了一個(gè)標(biāo)準(zhǔn)接口。
9.Java Transaction API(JTA),為分布式系統(tǒng)中可處理的應(yīng)用程序規(guī)定了一個(gè)高級(jí)的管理規(guī)范。
10.JavaMail,JavaMail應(yīng)用程序接口提供了一整套模擬郵件系統(tǒng)的抽象類(lèi)。通過(guò)JavaMail,可以創(chuàng)建郵件或消息應(yīng)用程序。
11.RMI-IIOP,使用它就可以只用Java 技術(shù)和Java RMI接口開(kāi)發(fā)客戶(hù)機(jī)與服務(wù)器的遠(yuǎn)程接口。
J2EE使用固定的文件格式捆綁某個(gè)模塊:用.ear文件捆綁J2EE應(yīng)用程序;用.jar捆綁Enterprise Bean。例如,一個(gè).ear文件包含一個(gè).xml文件作為其分布描述,還包含一個(gè)或多個(gè).jar和.war文件;一個(gè).jar文件除了包含它的分布描述外,還包含了作為Enterprise bean的.class文件。
J2EE應(yīng)用程序的開(kāi)發(fā)階段分為四步:1.Enterprise Bean創(chuàng)建;2.Web Component創(chuàng)建;3.J2EE應(yīng)用程序裝配;4.J2EE應(yīng)用程序分布。以下是J2EE兼容產(chǎn)品部分列表:
BEA WebLogic Server 6.0、Borland App Server、HP Bluestone Total-e-Server、IBM WebSphere Application Server、IONA iPortal Application Server、iPlanet Application Server、Macromedia JRun Server、Oracle 9i Application Server、SilverStrean Application Server、Sybase EAServer、TogetherSoft ControlCenter、Java 2 SDK Enterprise Edition。
?
?
J2ME技術(shù)的應(yīng)用
J2ME(Java 2 Platform Micro Edition)是為無(wú)線電子市場(chǎng)所設(shè)計(jì)的,包括JVM規(guī)范和API規(guī)范。其API規(guī)范是基于J2SE(Java 2 Standard Editon)的。J2ME 定義了一套合適的類(lèi)庫(kù)和虛擬機(jī)技術(shù)。這些技術(shù)可以使用戶(hù)、服務(wù)提供商和設(shè)備制造商通過(guò)物理(有線)連接或無(wú)線連接,按照需要隨時(shí)使用豐富的應(yīng)用程序。
J2ME又被稱(chēng)為Java 2 微型版,被使用在各種各樣的消費(fèi)電子產(chǎn)品上,例如智能卡、手機(jī)、PDA、電視機(jī)頂盒等方面。當(dāng)然了,J2ME也提供了Java語(yǔ)言一貫的特性,那就是跨平臺(tái)和安全網(wǎng)絡(luò)傳輸。它使用了一系列更小的包,而且Javax.microedition.io 為J2SE包的子集。J2ME可以升級(jí)到J2SE和J2EE。
在J2ME出現(xiàn)之前,我們更多接觸到的是Java卡(Java Card)、嵌入式Java(Embedded Java)和實(shí)時(shí)Java(Real Time Java)等。其中Java卡是針對(duì)SIM卡、智能卡等設(shè)備而定制的最小Java子集,比J2ME還要小,移植性也不強(qiáng)。嵌入式Java則針對(duì)特殊用戶(hù)自行配置Java類(lèi)庫(kù)和VM(Virtual Machine,虛擬機(jī))。它對(duì)資源需求極小,可運(yùn)行在無(wú)圖形用戶(hù)接口和網(wǎng)絡(luò)的設(shè)備上,可以添加用戶(hù)專(zhuān)用的API,但是它就無(wú)法移植。實(shí)時(shí)Java是由IBM領(lǐng)導(dǎo)的實(shí)時(shí)定制Java專(zhuān)家組負(fù)責(zé)實(shí)施的,現(xiàn)在還在不斷完善中。不過(guò),從嚴(yán)格意義上來(lái)說(shuō),它們都不是真正的J2ME。
像其它版本一樣,J2ME具有很多Java技術(shù)特性,主要有:
1.可以在各種支持Java的設(shè)備上運(yùn)行;
2.代碼短小;
3.充分利用Java語(yǔ)言的優(yōu)勢(shì);
4.安全性好;
5.用J2ME實(shí)現(xiàn)的應(yīng)用可以方便地升級(jí)到J2SE、J2EE。
J2ME的配置和框架
為了支持用戶(hù)和嵌入式市場(chǎng)提出的靈活性和可定制性要求,J2ME被設(shè)計(jì)得更加模塊化和可縮放化。J2ME在設(shè)備原有的操作系統(tǒng)上建造了3層軟件來(lái)實(shí)現(xiàn)這種要求:
1.JVM層,這層基于宿主操作系統(tǒng),按照某一種J2ME的配置,實(shí)現(xiàn)了JVM。
2.配置層,這層對(duì)于用戶(hù)可見(jiàn)度要低一些,但對(duì)框架層非常重要。它針對(duì)“水平”市場(chǎng)的需求,定義了Java虛擬機(jī)的最小功能集和Java類(lèi)庫(kù)的最小集合。在某種意義上,配置層定義了開(kāi)發(fā)者在所有設(shè)備上都可以使用Java特性和類(lèi)庫(kù)的“最小公分母”。
3.框架層,這層對(duì)于用戶(hù)和應(yīng)用程序提供者來(lái)說(shuō)是最常見(jiàn)的。它針對(duì)“垂直”市場(chǎng)的需求,定義了Java虛擬機(jī)的最小功能集和Java類(lèi)庫(kù)的最小集合。其框架是基于特定的配置層實(shí)現(xiàn)的。只要設(shè)備支持相同的框架層,針對(duì)特定框架層開(kāi)發(fā)的應(yīng)用程序就可以移植到其它設(shè)備上。一個(gè)設(shè)備可以支持多個(gè)框架層。
在J2ME設(shè)備中,JVM與配置層緊密相連,它們體現(xiàn)了每一類(lèi)設(shè)備的基本功能。框架層針對(duì)不同的設(shè)備,在配置層的基礎(chǔ)上規(guī)定了附加的API。為了滿(mǎn)足不斷更新的應(yīng)用程序,框架層可以擴(kuò)充新的Java庫(kù)類(lèi)。在不遠(yuǎn)的將來(lái),隨著新設(shè)備的不斷出現(xiàn),J2ME技術(shù)將提供范圍廣泛的框架層、配置層和VM。JCP(Java Community Process)可以為客戶(hù)和開(kāi)發(fā)商提供規(guī)范。根據(jù)JCP的定義,J2ME目前的一種配置層是“面向連接的設(shè)備配置”層(Connected Device Configuration),它采用典型的Java虛擬機(jī)技術(shù)。這種全功能的VM包含了基于臺(tái)式機(jī)系統(tǒng)上的虛擬機(jī)的所有功能,適用于擁有至少幾兆字節(jié)內(nèi)存的設(shè)備。對(duì)于無(wú)線設(shè)備和其它內(nèi)存不足的設(shè)備,J2ME采用“面向連接的受限設(shè)備配置”(CLDC)技術(shù)。
KVM是J2ME的核心特征。它是一個(gè)可移植性非常高的JVM,專(zhuān)用于內(nèi)存小、資源有限、能上網(wǎng)的設(shè)備,例如蜂窩電話、尋呼機(jī)和個(gè)人組織器等。這些器件一般都含有16或32位的處理器,最低128KB內(nèi)存。KVM能夠被靈活應(yīng)用到各種行業(yè)、各種類(lèi)型的設(shè)備上,并能夠適應(yīng)這些設(shè)備的多樣化所帶來(lái)的問(wèn)題,比如處理器的耗電量、內(nèi)存的大小、設(shè)備和應(yīng)用程序的特殊功能等問(wèn)題。
CLDC技術(shù)
CLDC定義了目標(biāo)Java平臺(tái),該平臺(tái)基于小型的、資源較少的、內(nèi)存僅有160~512K的設(shè)備。CLDC是由KVM和用在蜂窩電話、數(shù)字產(chǎn)品、雙向?qū)ず魴C(jī)、個(gè)人組織器和家用電器等核心庫(kù)類(lèi)及接口組成。使用CLDC技術(shù)有很多優(yōu)點(diǎn):
1.跨平臺(tái),這點(diǎn)保留了Java一貫的特點(diǎn),應(yīng)用程序不會(huì)隨著平臺(tái)差異而產(chǎn)生變化。
2.動(dòng)態(tài)性,這點(diǎn)也是很吸引人的,可以根據(jù)需要下載自己喜歡的應(yīng)用程序和服務(wù),并且可以和其它的CLDC設(shè)備通信。
3.安全性,Java 本身的特點(diǎn)造就了這一特性。
與 J2SE相比,CLDC缺少下列所說(shuō)的特征:
1.AWT(抽象窗口開(kāi)發(fā)包),Swing或其它圖形庫(kù);
2.用戶(hù)定義類(lèi)裝載器;
3.類(lèi)實(shí)例的最終化;
4.弱的引用;
5.RMI;
6.Reflection(映射)。
CLDC有四個(gè)包:java.lang、java.util、java.io和javax.microedition。除了javax.microedition包以外,其它的幾個(gè)包都是J2SE包的核心子集。CLDC采用這些J2SE類(lèi)庫(kù),但是把其中一些在微型設(shè)備中用不到類(lèi)、屬性和方法去掉了。
J2ME定義兩個(gè)配置:Connected Device Configuration(連接設(shè)備配置,CDC)和限制性更強(qiáng)的Connected Limited Device Configuration(有限連接設(shè)備配置,CLDC)。
J2SE技術(shù)的應(yīng)用
Java 2標(biāo)準(zhǔn)版是一種開(kāi)發(fā)和部署平臺(tái),提供了編寫(xiě)桌面、工作站應(yīng)用程序所有必需的功能。J2SE軟件是快速開(kāi)發(fā)、部署關(guān)鍵任務(wù)和企業(yè)應(yīng)用程序的首選解決方案。J2SE 1.4版本是基于Java跨平臺(tái)技術(shù)和強(qiáng)有力的安全模塊而開(kāi)發(fā)的,其最新的特征和功能極大地提高了Java語(yǔ)言的伸縮性、靈活性、適用性,以及可靠性。
J2SE 1.4 特點(diǎn):
1.良好的計(jì)算性能和縮放能力。
J2SE 1.4版是一個(gè)快速開(kāi)發(fā)和配置跨平臺(tái)的企業(yè)級(jí)應(yīng)用與服務(wù)的綜合性平臺(tái)。它提升了Java計(jì)算的性能與縮放能力,代表了Java技術(shù)的大跨步進(jìn)展。有了J2SE 1.4版,企業(yè)就可以通過(guò)更簡(jiǎn)易的步驟、花費(fèi)更少的時(shí)間,采用Java技術(shù)開(kāi)發(fā)與配置要求更高的應(yīng)用了。J2SE 1.4版在Java客戶(hù)機(jī)應(yīng)用方面得到了重大性能提升。基于Swing的Java小程序和應(yīng)用程序在圖形用戶(hù)界面(GUI)的響應(yīng)速度上也大有提高。
2.跨平臺(tái)。
J2SE 1.4版是一個(gè)具有綜合性能的平臺(tái),能使一個(gè)完整的、可縮放的高性能應(yīng)用配置在任何種類(lèi)的平臺(tái)上。
3.支持Web服務(wù)。
J2SE 1.4版與以前各J2SE版全面兼容。J2SE 1.4版對(duì)SSL、LDAP和CORBA等業(yè)界標(biāo)準(zhǔn)技術(shù)也給予支持,因此保證了在不同平臺(tái)、系統(tǒng)和環(huán)境間的互操作能力。J2SE 1.4版支持XML技術(shù)和一整套安全服務(wù),因此為基于各類(lèi)標(biāo)準(zhǔn)的可互操作應(yīng)用與服務(wù)的創(chuàng)建奠定了重要基礎(chǔ)。有了J2SE 1.4版與Java Web Services Developer Pack的結(jié)合,開(kāi)發(fā)商就能創(chuàng)建、測(cè)試和配置Web服務(wù)了。
4.完整性。J2SE 1.4版還是一個(gè)完整的開(kāi)發(fā)環(huán)境。開(kāi)發(fā)商可基于這一環(huán)境創(chuàng)建功能豐富的交互式應(yīng)用。這些應(yīng)用可以配置在任何平臺(tái)上。J2SE 1.4具有新的GUI控制功能、快速的Java 2DT圖形功能、支持國(guó)際化與本地化擴(kuò)展和新的配置選項(xiàng),并對(duì)Windows XP提供擴(kuò)展支持。
總之,J2SE 1.4版是多種不同風(fēng)格軟件的開(kāi)發(fā)基礎(chǔ),包括客戶(hù)端Java小程序和應(yīng)用程序,以及獨(dú)立的服務(wù)器應(yīng)用程序等。J2SE 1.4版還是J2ME的基礎(chǔ),是J2EE執(zhí)行程序的推動(dòng)力。
Java之所以能夠發(fā)展得很快,是因?yàn)榛ヂ?lián)網(wǎng)的發(fā)展非常快。Java可以和瀏覽器結(jié)合在一起,因而很自然地在桌面系統(tǒng)得到廣泛應(yīng)用。從計(jì)算的結(jié)構(gòu)來(lái)看,Java主要分三大類(lèi):第一是服務(wù)器端,這里就有了J2EE企業(yè)版;第二是桌面PC,這一類(lèi)用的是J2SE標(biāo)準(zhǔn)版;第三就是掌上電腦、移動(dòng)設(shè)備,用的都是J2ME。但是,大部分非企業(yè)級(jí)軟件還是在J2SE上開(kāi)發(fā)的比較多。首先,這是因?yàn)楹芏嗟膽?yīng)用軟件都是在J2SE上開(kāi)發(fā)的;其次,J2SE是和J2EE兼容的,企業(yè)版是在標(biāo)準(zhǔn)版上的擴(kuò)充,在J2SE的版本上開(kāi)發(fā)的軟件,拿到企業(yè)的平臺(tái)上是一樣可以運(yùn)行的;再次,一般開(kāi)發(fā)還是在J2SE的環(huán)境上,只是說(shuō)J2ME提供微型版的一個(gè)環(huán)境。在J2SE上虛擬出一個(gè)環(huán)境,開(kāi)發(fā)出來(lái)的應(yīng)用軟件是可以拿到微型版上運(yùn)行的。