JAVA總的來說共有三大種:J2SE,J2EE,J2ME。以下內(nèi)容摘自 J2SE簡介與J2EE、J2ME的比較
站在用戶的角度思考問題,與客戶深入溝通,找到古交網(wǎng)站設(shè)計與古交網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋古交地區(qū)。
Java2平臺包括:標準版(J2SE)、企業(yè)版(J2EE)和微縮版(J2ME)三個版本。J2SE,J2ME和J2EE,這也就是SunONE(Open NetEnvironment)體系。J2SE就是Java2的標準版,主要用于桌面應(yīng)用軟件的編程;J2ME主要應(yīng)用于嵌入式系統(tǒng)開發(fā),如手機和PDA的編程;J2EE是Java2的企業(yè)版,主要用于分布式的網(wǎng)絡(luò)程序的開發(fā),如電子商務(wù)網(wǎng)站和ERP系統(tǒng)。
Standard Edition(標準版) J2SE 包含那些構(gòu)成Java語言核心的類。比如:數(shù)據(jù)庫連接、接口定義、輸入/輸出、網(wǎng)絡(luò)編程
Enterprise Edition(企業(yè)版) J2EE 包含J2SE 中的類,并且還包含用于開發(fā)企業(yè)級應(yīng)用的類。比如:EJB、servlet、JSP、XML、事務(wù)控制
Micro Edition(微縮版) J2ME 包含J2SE中一部分類,用于消費類電子產(chǎn)品的軟件開發(fā)。比如:呼機、智能卡、手機、PDA、機頂盒
簡單講就是:
J2SE: java 2 Standard edition (java 2 標準版)
J2EE: java 2 enterprise edition( Java 2 企業(yè)版)
J2ME: java 2 micro edition (Java 2 微縮版)
他們的范圍是:J2SE包含于J2EE中,J2ME包含了J2SE的核心類,但新添加了一些專有類
應(yīng)用場合,API的覆蓋范圍各不相同。
籠統(tǒng)的講,可以這樣理解:J2SE是基礎(chǔ);壓縮一點,再增加一些CLDC等方面的特性就是J2ME;擴充一點,再增加一些EJB等企業(yè)應(yīng)用方面的特性就是J2EE。
補充一點J2EE更恰當?shù)恼f,應(yīng)該是JAVA2企業(yè)開發(fā)的技術(shù)規(guī)范,不僅僅是比標準版多了一些類。J2EE又包括許多組件,如Jsp, Servlet, JavaBean, EJB, JDBC, JavaMail等。
J2SE商業(yè)版本,標準版本 (Java2 Standard Edition) 定位在客戶端,主要用于桌面應(yīng)用軟件的編程。
J2SE 包含那些構(gòu)成Java語言核心的類。
比如:數(shù)據(jù)庫連接、接口定義、輸入/輸出、網(wǎng)絡(luò)編程
J2SE 是J2EE的基礎(chǔ),他大量的JDK代碼庫是每個要學習J2EE的編程人員必須掌握的。
從JDK 5.0開始,不再叫J2SE,改名為 Java SE了,因為那個2已經(jīng)失去了其應(yīng)該有的意義。
[編輯本段]J2SE的特性
(以下每種特性基本上都有示例代碼,或要了解其它特性,詳見參考資料的“J2SE 1.5(并非最新版本) 簡介”)
易于開發(fā)性
您也許已經(jīng)見過這樣的報告,即一些新的 Java 語言變化包含易于開發(fā)性主題。這些變化包括泛型、元數(shù)據(jù)、autoboxing、增強的 for 循環(huán)、枚舉類型、靜態(tài)導(dǎo)入、C 風格的格式化 I/O、可變參數(shù)、并發(fā)實用程序以及更簡單的 RMI 接口生成。
JSR 201 包括如下四個語言變化:增強的 for 循環(huán)、枚舉類型、靜態(tài)導(dǎo)入和 autoboxing;JSR 175 指定了新的元數(shù)據(jù)功能,而 JSR 14 則詳細說明了泛型。
javac 編譯器執(zhí)行的默認語言規(guī)范是版本 1.4(并非最新版本)。這意味著要利用以下語言變化的任何好處,需要向 javac 命令傳遞參數(shù) -source 1.5。
元數(shù)據(jù)
J2SE 1.5 (并非最新版本)中的元數(shù)據(jù)特性提供這樣的能力,即向 Java 類、接口、方法和字段關(guān)聯(lián)附加的數(shù)據(jù)。這些附加的數(shù)據(jù)或者注釋,可以被 javac 編譯器或其他工具讀取,并且根據(jù)配置不同,可以被保存在類文件中,也可以在運行時使用 Java 反射 API 被發(fā)現(xiàn)。
向 Java 平臺增加元數(shù)據(jù)的一個主要原因是,使得開發(fā)工具和運行工具有一個通用的基礎(chǔ)結(jié)構(gòu),以減少開發(fā)和部署所需的成本。工具可以使用元數(shù)據(jù)信息生成附加的源代碼,或者在調(diào)試時提供附加信息。
下面的例子用元數(shù)據(jù)工具創(chuàng)建了一個調(diào)試元數(shù)據(jù)注釋,這些元數(shù)據(jù)注釋然后又簡單地在運行時顯示出來??梢韵胂?,大部分的元數(shù)據(jù)標簽形成一個標準,即一個良好規(guī)范的集合。利用一個元數(shù)據(jù)處理工具,許多重復(fù)的代碼編寫步驟可以減少成一個簡練的元數(shù)據(jù)標簽。
泛型
泛型一直是 Java 社團所廣泛期待的,現(xiàn)在已經(jīng)是 J2SE 1.5 的一部分了。最先見到使用泛型的地方是在 Collections API 中。Collections API 提供可以被多個 Java 類型使用的公共功能性,比如 LinkedLists、ArrayLists 和 HashMaps。下一個例子使用 1.4.2 庫和默認的 javac 編譯模式。
泛型化 API 的用戶必須使用 符號簡單地聲明在編譯類型中使用的類型。不需要任何類型轉(zhuǎn)換,在本例中試圖向一個 Integer 類型的集合中添加 String 對象將會在編譯時被捕獲。
因此,泛型允許 API 設(shè)計者提供這樣的公共功能性:可以與多種數(shù)據(jù)類型一起使用,也可以在編譯時出于類型安全對它進行檢查。
設(shè)計自己的 Generic API 比起只是使用它們來說要稍微復(fù)雜一些。請從查看 java.util.Collection 源代碼和 API 指南開始。
以1000行為準,超過千行就要考慮類拆分了。類的代碼行數(shù)沒有特定的行數(shù)限制規(guī)范。根據(jù)實際情況決定。對于經(jīng)常使用的java類,代碼行數(shù)應(yīng)該盡可能的少,這樣能減少java類的加載時間,減少內(nèi)存頻繁占用和回收。如果類過大,java類加載會耗時并且占用內(nèi)存大。容易引起內(nèi)存回收。
Java是一種簡單的,面向?qū)ο蟮?,分布式的,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動態(tài)語言。
Java語言其實最早誕生于1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產(chǎn)品而設(shè)計的一個通用環(huán)境。他們最初的目的只是為了開發(fā)一種獨立于平臺的軟件技術(shù),而且在網(wǎng)絡(luò)出現(xiàn)之前,OAK可以說是默默無聞,甚至差點夭折。但是,網(wǎng)絡(luò)的出現(xiàn)改變了OAK的命運。
1,java規(guī)范中一般不建議一個java類中超過500行
2,一行的長度不超過200個
3,按照規(guī)定格式將代碼格式化
一般情況下類的代碼則沒有限制,但類中的方法最好一個方法不要超過100行代碼,
Java語言所使用的字符集是16位Unicode編碼。另外再介紹一些常見的字符集:
1、最早在dos下寫pascal的時候,就遇到ASCII字符集,后來還是dos下寫c,也是ascii字符集
特點:目前最通用的單字節(jié)編碼字符集
表示:單字節(jié)
最早ascii用7bit表示,總共能表示2^7=128個字符,后來擴展到8bit,就表示2^8=256個字符
2、GB2312又稱為GB2312-80字符集,全稱為《信息交換用漢字編碼字符集·基本集》,由原中國國家標準總局發(fā)布,1981年5月1日實施。
特點:當然是能表示99%的中國漢字,還包括拉丁字母、日文假名、希臘字母、俄文字母、漢語拼音符號、漢語注音字母等
表示:雙字節(jié)
3、GBK是漢字編碼標準之一,全稱《漢字內(nèi)碼擴展規(guī)范》,GBK 向下與GB2312編碼兼容,向上支持ISO10646.1國際標準。可以認為GBK是在GB2313基礎(chǔ)上通過內(nèi)碼擴展出來的一個標準。
特點:完全兼容GB2312標準,支持國際標準ISO/IEC10646-1和國家標準GB13000-1中的全部中日韓漢字,并包含了BIG5編碼中的所有漢字
表示:雙字節(jié)
4、Big5,臺灣那邊使用比較多。
5、GB 18030,全稱是GB18030-2000《信息交換用漢字編碼字符集基本集的擴充》,是我國政府于2000年3月17日發(fā)布的新的漢字編碼國家標準,2001年8月31日后在中國市場上發(fā)布的軟件必須符合本標準。
特點:就是強大。覆蓋中文、日文、朝鮮語和中國少數(shù)民族文字。滿足中國大陸、香港、臺灣、日本和韓國等東亞地區(qū)信息交換多文種、大字量、多用途、統(tǒng)一編碼格式的要求。并且與Unicode 3.0版本兼容,填補Unicode擴展字符字匯“統(tǒng)一漢字擴展A”的內(nèi)容。并且與以前的國家字符編碼標準(GB2312,GB13000.1)兼容。
表示:單字節(jié)、雙字節(jié)、四字節(jié)三種方式
6、Unicode野心更大(當然有一個國際統(tǒng)一標準當然是好事)
特點:Unicode是一種在計算機上使用的字符編碼。它為每種語言中的每個字符設(shè)定了統(tǒng)一并且唯一的二進制編碼,以滿足跨語言、跨平臺進行文本轉(zhuǎn)換、處理的要求。
表示:utf-8,utf-16,utf-32
這里可能有點不好理解,舉個例子
首先,把unicode理解成對所有字符做了一個統(tǒng)一的編號,比如:“字”這個字符,編號是23383,這個是unicode定義的
但是,在計算機中,如何存儲這個編號呢?方式就有很多,存儲unicode的方式,就是utf-8,utf-16,utf-32
23383數(shù)值的16進制表示:0x5b57
utf-8用3個字節(jié)來表示漢字,所以utf-8的表示為:0xE5AD97
utf-16用2個字節(jié)來表示漢字,所以utf-16的表示為:0x5b57 剛好和數(shù)值是一樣的
utf-32用4個字節(jié)來表示漢字,所以utf-32的表示為:0x00005b57 和數(shù)值是一樣的,不過浪費空間
7、再來講講utf-8,它是一種變長的字符集
表示:單字節(jié)來表示字母,雙字節(jié)來表示一些希臘字母,三字節(jié)來表示漢字,當然也有四字節(jié)的
這么做當然會增加表示和識別的難度,不過,可以節(jié)省空間。這也是為什么utf-8在網(wǎng)絡(luò)編碼中流行的原因。