JAVA基礎:Java語(yǔ)言相關(guān)的重要術(shù)語(yǔ)解析
——
Java 語(yǔ)言基本上屬于一個(gè)完全面向對象的語(yǔ)言,并且語(yǔ)言的設計仍然以簡(jiǎn)捷為重點(diǎn),因此有其它語(yǔ)言基礎的朋友學(xué)習Java語(yǔ)言會(huì )感覺(jué)比較簡(jiǎn)單,對于這個(gè)語(yǔ)言學(xué)習的難點(diǎn)則是面向對象的相關(guān)概念,包括:包、類(lèi)、對象、實(shí)例、接口、繼承、重載與覆蓋,還有就是類(lèi)、變量、函數的相關(guān)作用域,這些是語(yǔ)言學(xué)習的重點(diǎn)和難點(diǎn)。
對于語(yǔ)言的學(xué)習可以參考《Java 2參考大全》,對于面向對象的學(xué)習可以參考《Think in Java》,先學(xué)語(yǔ)言打好基礎,再學(xué)面向對象的概念以及設計,通過(guò)自己設計程序再進(jìn)一步去了解設計模式,循序漸進(jìn)地達到Java程序員的基本要求。
學(xué)習Java還有個(gè)非常重要的就是類(lèi)庫,因為沒(méi)有人還會(huì )從頭開(kāi)發(fā)程序,SUN公司提供了一套完整的開(kāi)發(fā)用的基礎類(lèi)庫,如何用好這些類(lèi)才是Java語(yǔ)言學(xué)習的重中之重。
JVM (Java Virtual Machine, Java虛擬機)。
就是Java程序運行的虛擬環(huán)境,因為Java是解釋型的語(yǔ)言,因此需要一個(gè)邊解釋邊運行的支撐環(huán)境。同時(shí),JVM又是在OS(操作系統)之上的,對于在JVM上運行的Java程序提供了統一的標準接口,從而屏蔽了操作系統的差異性,實(shí)現了Java代碼的“一次編寫(xiě),處處運行”的承諾,這個(gè)解釋說(shuō)明。NET平臺理論上也可以實(shí)現這個(gè)功能,只是微軟沒(méi)有提供這樣的支持。
為了提升程序運行的效率以及代碼知識產(chǎn)權的保護,Java代碼會(huì )使用JDK中的編譯器編譯成字節碼(中間代碼),從而運行在JVM之上,但是這個(gè)編譯結果與C/C++這種編譯型語(yǔ)言編譯出來(lái)的結果不同,Java編譯出來(lái)的是一種結構中立的中間文件格式,只能在JVM上執行,而C/C++編譯出來(lái)的已經(jīng)是最終的執行程序,操作系統只是管理和支撐應用運行,但是編譯出來(lái)的結果已經(jīng)是機器碼。因此Java的Class文件可以使用反編譯工具轉換成 Java代碼進(jìn)行分析,推薦的反編譯工具是JAD及它的Eclise插件。
許多公司都有開(kāi)發(fā)自己的JVM,據測試數據顯示性能都比SUN提供的免費版本要好,但是我實(shí)際使用中沒(méi)有發(fā)現明顯地區別,而SUN也有高級但是收費的版本,因此性能上沒(méi)有顯示地提升還是使用免費地版本就可以了。
JRE(Java Runtime Environment,Java運行環(huán)境)。JRE提供了類(lèi)庫、JVM與其他組件來(lái)支持applet和Java應用程序的運行。另外,JRE擁有兩個(gè)關(guān)鍵的發(fā)布技術(shù):Java Plug-in與Java Web Start,Java Plug-in支持applet運行在大部分瀏覽器上,Java Web Start則可以將一個(gè)獨立的應用程序發(fā)布到網(wǎng)絡(luò )上。
JRE同時(shí)還是J2EE平臺企業(yè)級應用開(kāi)發(fā)與部署的支撐技術(shù),但是不包括編譯器與調試器等各種工具去支持applet和應用程序的開(kāi)發(fā)。
Java Plug-in.這個(gè)技術(shù)是JRE的一部分,用于連接瀏覽器與Java平臺。這個(gè)連接使得WEB站點(diǎn)的applets運行在客戶(hù)端的瀏覽器中。
Java Web Start:只要擁有相同版本的JRE,獨立的Java應用程序就可以通過(guò)這個(gè)技術(shù)發(fā)布到網(wǎng)絡(luò )上。
JDK(Java Development Kit,Java開(kāi)發(fā)工具)。
包括了Java運行環(huán)境(Java Runtime Envirnment),一堆Java工具和Java基礎的類(lèi)庫(rt.jar),還有Java類(lèi)庫的源代碼(src.zip)以及學(xué)習用的例子 (sample與demo)。為了使程序安裝后就可以運行,許多Java應用服務(wù)器會(huì )集成JDK,原因可以參考我所寫(xiě)的《JRE與JDK在啟動(dòng)應用服務(wù)器中的作用》。
無(wú)論是JRE還是JDK最主要是使用他們攜帶的JVM,以及安裝到JDK與JRE目錄下的LIB目錄里的JAR包。使用JRE還是 JDK都通過(guò)JAVA_HOME這個(gè)參數完成,而對LIB目錄下的JAR包則通過(guò)CLASSPATH目錄進(jìn)行添加。值得注意的是如果JAVA_HOME設置成JDK的安裝目錄,實(shí)際上用的是包含在JDK安裝目錄下的JRE目錄里的JVM.
JDK里面還包括了開(kāi)發(fā)所需要用的編譯、跟蹤、發(fā)布等多種工具,這里就不一一描述,大家可以在網(wǎng)上查詢(xún)資料,如果需要我這邊補充,也可以跟帖說(shuō)明。
J2SE( Java 2 Standard Edition, Java 2 標準版)。
Java 2平臺標準版(現在叫Java SE)支持客戶(hù)端和服務(wù)器端的Java應用程序開(kāi)發(fā),如今還包括了嵌入式和實(shí)時(shí)系統環(huán)境。Java SE還支持Java Web Services的開(kāi)發(fā),并且還是Java EE平臺的基礎。
Java SE平臺中有兩個(gè)主要的產(chǎn)品就是JRE與JDK.
J2EE( Java 2 Enterprise Edition, Java 2 企業(yè)版)。
J2EE(現在叫Java EE)是一種工業(yè)標準,用于支持可移植、可擴展、健壯并安全的服務(wù)器端Java程序。Java EE提供了web服務(wù)、組件模型、管理和通訊API從而可以實(shí)現符合工業(yè)標準SOA框架與WEB應用程序。Java EE平臺包括符合Java EE規范的應用服務(wù)器,以及相關(guān)的工具、例子及幫助文件。還有符合Java EE標準的應用程序的發(fā)布與調試工具。
簡(jiǎn)單來(lái)說(shuō)Java EE就是一組規范組成的,這些規范合成到一起組成一個(gè)技術(shù)標準。這個(gè)標準現在是由JCP組織制定,最新的版本是2006年6月發(fā)布的Java EE 5.0,所有的應用服務(wù)器產(chǎn)品都希望通過(guò)這樣的認證。因為所有認證過(guò)的產(chǎn)品從理論上講符合J2EE規范開(kāi)發(fā)的應用程序都可以平滑地移植,現實(shí)中我做的移植工作也只需要修改不到5%的內容,并且大多是XML配置文件而不涉及到源代碼。這樣的好處使用戶(hù)無(wú)須綁定到某個(gè)廠(chǎng)商的平臺上,也為擴展這個(gè)市場(chǎng)打下了基礎。
Java EE 5.0的認證過(guò)程是必須通過(guò)SUN公司提供的軟件測試包,測試包里面包括了27000多個(gè)功能點(diǎn)的驗證,驗證通過(guò)后就可以獲得這個(gè)標志,并且會(huì )在SUN的網(wǎng)站上掛出。http://java.sun.com/javaee/overview/compatibility.jsp
在2006年12月Apusic 5.0全球第四家通過(guò)了這個(gè)認證,這個(gè)事實(shí)也就說(shuō)明中國的應用服務(wù)器產(chǎn)品終于在技術(shù)上沒(méi)有了差距,甚至因為Apusic研發(fā)產(chǎn)品的態(tài)度專(zhuān)注,所以還領(lǐng)先了國外的主要競爭對手。
Java EE SDK就是SUN公司開(kāi)發(fā)的一個(gè)符合J2EE標準的應用服務(wù)器,可以下載后免費使用來(lái)了解Java EE的最新技術(shù),當然也可以下載Apusic 5.0這個(gè)也是符合Java EE最新標準的產(chǎn)品,而且會(huì )有更加友好的中文界面與中文幫助。
寫(xiě)的過(guò)程中,總覺(jué)得知識點(diǎn)都在相互關(guān)聯(lián)著(zhù),于是寫(xiě)出來(lái)的東西好像會(huì )越來(lái)越多,無(wú)法收筆。因此,希望看過(guò)的朋友多給提寶貴意見(jiàn),使我寫(xiě)的東西更加有針對性,能夠為學(xué)習和使用J2EE技術(shù)的朋友,以及使用我們Apusic產(chǎn)品的客戶(hù)帶來(lái)收獲。
linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)
評論