Java技術(shù)簡介
Java技術(shù)是一門編程語言,也是一個(gè)平臺(tái),它基于Java虛擬機(jī)技術(shù),借助這個(gè)東西建立了跨平臺(tái)的優(yōu)勢。(題外話:Java熱門的原因之一就是一個(gè)跨平臺(tái)的概念,和跨平臺(tái)類似跨瀏覽器的好處也是如此,這也是現(xiàn)在AJAX技術(shù)流行的原因之一。另外現(xiàn)在熱炒的RIA富客戶端的概念下的技術(shù)除了AJAX外還有Adobe的Flash/Flex,微軟的Silver Light,SUN的JavaFX等,個(gè)人更看好FLash/Flex,原因是Flash插件在瀏覽器端占用率很高)
Java技術(shù)的重要性就不講了,從最近流行的一個(gè)統(tǒng)計(jì)數(shù)據(jù)上來說,目前世界上編程語言Java 、C 、VB、C++依次排名前4位,這排名本身不說明什么,至少也是工業(yè)界對(duì)編程語言使用上一個(gè)側(cè)面的反映吧。
Java編程語言與眾不同之處在于:Java程序既是編譯型的(轉(zhuǎn)換為一種稱為Java字節(jié)碼的中間語言),又是解釋型的(JVM 對(duì)字節(jié)碼進(jìn)行解析和運(yùn)行)。編譯只進(jìn)行一次,而解釋在每次運(yùn)行程序時(shí)都會(huì)進(jìn)行。編譯后的字節(jié)碼采用一種針對(duì)JVM 優(yōu)化過的機(jī)器碼形式;解釋器是JVM 的實(shí)現(xiàn)。這段是摘自網(wǎng)上的,編譯原理學(xué)的不是很好,對(duì)這門語言的背后運(yùn)行機(jī)制理解到這樣了。
Java平臺(tái)是一種純軟件平臺(tái),它有三個(gè)版本Java SE、JavaEE、Java ME。
Java SE(Java Platform,Standard Edition)這個(gè)版本以前叫做J2SE,后來版本號(hào)從1.4直接跳到5.0,其實(shí)也就是1.5,所以就叫成Java SE 5.0。目前Java開發(fā)人員使用較多的版本是5.0,當(dāng)然還有Java SE 6.0這個(gè)更新的版本。它允許開發(fā)和部署在桌面、服務(wù)器、嵌入式環(huán)境和實(shí)時(shí)環(huán)境中使用的Java 應(yīng)用程序。Java SE還包含了支持Java Web服務(wù)開發(fā)的類,并為Java EE這個(gè)版本提供基礎(chǔ)。
雖說桌面應(yīng)用程序,Java一直不被看好,但也稍微提一下,負(fù)責(zé)桌面GUI開發(fā)的類庫我知道的有:JDK自帶的主要是AWT/SWING這個(gè)Java原生類庫;也可以使用IBM的SWT/JFace這個(gè)第三方類庫。開發(fā)工具我了解的有:NetBeans(最近已經(jīng)是6.0final版了,做GUI有使用VB的感覺),Eclipse(SWT/JFace這個(gè)項(xiàng)目其實(shí)就是做Eclipse項(xiàng)目時(shí)擴(kuò)展出來的,所以對(duì)SWT/JFace支持的也不錯(cuò))。
Java EE(Java Platform,Enterprise Edition)這個(gè)版本以前叫做J2EE,也就是大家可能聽得比較多的,也是Java比較流行的領(lǐng)域,Java的企業(yè)級(jí)版本。Java EE下有很多流行的開發(fā)框架,像Struts、Spring、Hibernate這種流行的所謂SSH組合等。
根據(jù)項(xiàng)目大小、應(yīng)用領(lǐng)域,技術(shù)平臺(tái)的選擇面還是很多的,除了Java EE,還有.Net,LAMP組合(Linux、Apatch、MySql、PHP組合),相對(duì)來說比較新Ruby在Ruby on Rails的框架應(yīng)用,后兩者可能在相對(duì)來說比較輕量級(jí)的Web領(lǐng)域運(yùn)用成功案例比較多,更重量的企業(yè)級(jí)潛力還有待挖掘。
Java ME(Java Platform,Micro Edition)這個(gè)版本以前叫做J2ME。應(yīng)用領(lǐng)域像各種移動(dòng)設(shè)備和嵌入式設(shè)備,比如:手機(jī)、PDA、電視機(jī)頂盒和打印機(jī)。
Java ME不是太熟悉,不過移動(dòng)設(shè)備和嵌入式設(shè)備的開發(fā)個(gè)人覺得算是比較有意思的領(lǐng)域,最近比較矚目的業(yè)界新聞?dòng)幸粋€(gè)就是Google發(fā)布開源智能手機(jī)操作系統(tǒng)開發(fā)平臺(tái)Android,也就是前一陣子炒得很火的GPhone(原來Google出的不是手機(jī),而是一個(gè)手機(jī)操作系統(tǒng)開發(fā)平臺(tái))。這個(gè)平臺(tái)貌似會(huì)對(duì)Java ME有些沖擊,按照網(wǎng)上的消息,Android包括:1、高度定制的Linux操作系統(tǒng)內(nèi)核及智能手機(jī)硬件驅(qū)動(dòng)支持;2、經(jīng)過Google修改過的Java虛擬機(jī)Dalvik,這里的性能比SUN的Hotspot高,支持大部分Java核心類庫;3、大量智能手機(jī)開發(fā)核心類庫;4、大量現(xiàn)成的智能手機(jī)應(yīng)用軟件;5、基于Eclipse的開發(fā)環(huán)境。也是按照網(wǎng)上的說法,Java EE提供了統(tǒng)一的編程平臺(tái),但不能調(diào)用操作系統(tǒng)的資源;而Android下直達(dá)操作系統(tǒng),上直達(dá)應(yīng)用軟件,如:瀏覽器、日歷、地圖等。
Java開發(fā)工具很多,個(gè)人使用的IDE有Eclipse和NetBeans。Eclispe比較流行,各種插件也多,當(dāng)然用起來也不錯(cuò);NetBeans現(xiàn)在也是越做越好了,介紹這兩個(gè)IDE主要是開源的,當(dāng)然還有其它工具如JBuilder、IntelliJ、JCreator。這些IDE各有優(yōu)勢劣勢,根據(jù)你開發(fā)的項(xiàng)目來選擇了。
【編輯推薦】