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