Java平臺由Java虛擬機和Java應用編程接口(API)組成。Java應用程序編程接口為Java應用程序提供了壹個獨立於操作系統的標準接口,可分為基礎部分和擴展部分。在硬件或操作系統平臺上安裝Java平臺後,Java應用程序就可以運行了。現在Java平臺已經嵌入了幾乎所有的操作系統。這樣,Java程序可以編譯壹次並在各種系統中運行。Java應用程序編程接口已經從1.1x版本發展到1.2版本。目前常用的Java平臺是基於Java1.4,最新版本是Java1.7。
Java分為三個系統J2SE(Java 2標準版)、J2EE(Java 2平臺企業版)和J2ME(Java 2微型版)。
【編輯本段】Java語言的特性
Java是壹種簡單、面向對象、分布式、解釋性、健壯和安全、結構中立、可移植、性能卓越和多線程的動態語言。
當SUN在1995中介紹Java語言時,全世界的目光都被這種神奇的語言所吸引。那麽Java的神奇之處在哪裏呢?
事實上,Java語言最早誕生於1991年。它最初被稱為橡樹語言,是SUN公司為壹些消費電子產品設計的通用環境。他們最初的目的只是開發壹種獨立於平臺的軟件技術,在網絡出現之前,OAK默默無聞,甚至差點死掉。然而,網絡的出現改變了橡樹的命運。
在Java出現之前,互聯網上的信息內容全都是枯燥刻板的HTML文檔。這對於那些沈迷於網絡瀏覽的人來說是無法忍受的。他們渴望在WEB上看到壹些交互式內容,開發人員也渴望創建壹種無需考慮軟件和硬件平臺即可執行的應用程序。當然,這些程序必須具有很高的安全性。傳統的編程語言無力滿足用戶的這壹要求。SUN的工程師們敏銳地意識到了這壹點。從1994開始,他們開始將OAK技術應用於WEB,並開發了HotJava的第壹個版本。當SUN公司以Java為名正式推出1995時,幾乎所有的WEB開發人員都感嘆道:哦,這正是我想要的!於是Java成了耀眼的明星,醜小鴨搖身壹變成了白天鵝。
【編輯本段】Java的主要特性
1,Java語言簡單。Java語言的語法與C語言和C++語言的語法非常接近,這使得大多數程序員可以輕松學習和使用Java。另壹方面,Java拋棄了那些在C++中很少使用的、難以理解和令人困惑的功能,例如運算符重載、多重繼承和自動強制類型轉換。特別是,Java語言不使用指針並提供自動垃圾收集,因此程序員不必擔心內存管理。
2.Java語言是面向對象的。Java語言提供了類、接口和繼承等原語。為了簡單起見,它只支持類之間的單繼承,但支持接口之間的多繼承,並支持類和接口之間的實現機制(關鍵字是implements)。Java語言完全支持動態綁定,而C++語言只對虛函數使用動態綁定。總之,Java語言是壹種純面向對象的編程語言。
3.Java語言是分布式的。Java語言支持互聯網應用程序的開發。在基本的Java應用程序編程接口中有壹個網絡應用程序編程接口(java.net),它為網絡應用程序編程提供了壹個類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(遠程方法激活)機制也是開發分布式應用的重要手段。
4.Java語言是健壯的。Java的強類型機制、異常處理和垃圾自動收集是Java程序健壯性的重要保證。對於Java來說,丟棄指針是明智的選擇。Java的安全檢查機制使Java更加健壯。
5.Java語言很安全。Java通常用於網絡環境。為此,Java提供了壹種安全機制來防止惡意代碼攻擊。除了Java語言的許多安全特性之外,Java還為通過網絡下載的類提供了安全保護機制(ClassLoader),例如分配不同的名稱空間以防止替換同名的本地類,檢查字節碼,以及為Java應用程序提供安全管理機制(Class SecurityManager)以設置安全保護。
6.Java語言是架構中立的。Java程序(後綴為Java的文件)在Java平臺上被編譯成與體系結構無關的字節碼格式(後綴為class的文件),然後可以在任何實現該Java平臺的系統上運行。這種方法適用於異構網絡環境和軟件分發。
7.Java語言是可移植的。這種可移植性來自於架構的中立性。此外,Java還嚴格規定了每個基本數據類型的長度。Java系統本身具有很強的可移植性,Java編譯器是用Java實現的,Java的運行環境是用ANSI C實現的。
8.Java語言是解釋性的。如上所述,Java程序在Java平臺上被編譯成字節碼格式,然後可以在實現該Java平臺的任何系統中運行。在運行時,Java平臺中的Java解釋器解釋並執行這些字節碼,執行過程中需要的類在加入階段被加載到運行時環境中。
9.Java是高性能。與那些解釋型高級腳本語言相比,Java確實是高性能的。事實上,隨著JIT(實時)編譯器技術的發展,Java的運行速度越來越接近C++。
10,Java語言是多線程的。在Java語言中,線程是壹個特殊的對象,它必須由Thread類或其子類創建。創建線程通常有兩種方法:壹種是通過使用Thread(Runnable)類型的構造函數將具有Runnable接口的對象包裝到線程中;另壹種是從thread類派生壹個子類並重寫run方法,使用該子類創建的對象就是線程。值得註意的是,Thread類已經實現了Runnable接口,因此任何線程都有其run方法,並且run方法包含線程想要運行的代碼。線程的活動由壹組方法控制。Java語言支持多線程的同時執行,並提供了多線程之間的同步機制(關鍵字是synchronized)。
11、Java語言是動態的。Java語言的設計目標之壹是適應動態環境。Java程序所需的類可以動態加載到運行環境中,也可以通過網絡加載。這也有利於軟件的升級。此外,Java中的類有壹個運行時表示,它可以檢查運行時的類型。
Java語言的優秀特性使得Java應用程序極其健壯和可靠,這也降低了應用系統的維護成本。Java對對象技術的全面支持以及Java平臺中的嵌入式API可以縮短應用系統的開發時間並降低成本。Java可以編譯壹次並在任何地方運行,這使它能夠提供壹個可以在任何地方使用的開放結構以及壹種在多個平臺之間傳輸信息的低成本方法。特別是Java企業API為企業計算和電子商務應用系統提供了相關技術和豐富的類庫。
【編輯本段】Java相關技術
1和JDBC(Java數據庫連接)為連接各種關系數據庫提供了統壹的接口。
2.EJB(Enterprise JavaBean s)使開發人員可以方便地創建、部署和管理跨平臺的基於組件的企業應用程序。
3.Java RMI(Java遠程方法調用)用於開發分布式Java應用程序。遠程Java虛擬機可以調用Java對象的方法。這樣,遠程方法激活可以發生在對等體的兩端,或者發生在客戶端和服務器之間,只要這兩個應用程序都是用Java編寫的。
4.Java IDL(Java接口定義語言)提供了與CORBA(公共對象請求代理體系結構)的無縫互操作性。這使得Java能夠集成異構的業務信息資源。
5.JNDI(Java命名和目錄接口)提供了從Java平臺到。該接口屏蔽企業網絡使用的各種命名和目錄服務。
6.JMAPI(Java Management API)為異構網絡上的系統、網絡和服務管理的開發提供了壹套豐富的對象和方法。
7.JMS(Java消息服務)提供企業消息服務,例如可靠的消息隊列、發布和訂閱通信,以及推/拉技術的各個方面。
8.JTS(Java transaction Service)提供了訪問事務資源的開放標準,包括事務應用、事務管理和監控。
在Java技術中,JavaBeans也值得關註。它是壹個開放的標準組件架構,獨立於平臺,但使用Java語言。JavaBean是符合JavaBeans規範的Java類,通常定義現實世界中的事物或概念。JavaBean的主要特性包括屬性、方法和事件。通常,在支持JavaBeans規範的開發環境中(例如Sun Java Studio和IBM VisualAge for Java),可以可視化地操作JavaBeans,或者使用JavaBeans構造新的JavaBeans。JavaBean的優勢還在於Java帶來的可移植性。現在,EJB(Enterprise JavaBeans)將JavaBean s的概念擴展到支持多層分布式對象應用程序的Java服務器組件體系結構。除了JavaBeans之外,典型的組件架構包括DCOM和CORBA,對這些組件架構的深入討論超出了本書的範圍。
【編輯本段】Java開源項目
Spring框架Java開源J2EE框架
Spring是解決J2EE開發中許多常見問題的強大框架。Spring提供了壹種壹致的方式來管理業務對象,並鼓勵註入編程接口而不是類的好習慣。Spring的架構基礎是基於使用JavaBean屬性的控制容器的反轉。然而,這只是全貌的壹部分:Spring的獨特之處在於使用IoC容器作為壹個完整的解決方案,在構建後專註於所有架構層。Spring提供了壹個獨特的數據訪問抽象,包括壹個簡單有效的JDBC框架,這極大地提高了效率並減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R映射解決方案。Spring還提供了壹個獨特的事務管理抽象,它可以在各種底層事務管理技術(如JTA或JDBC事務)中提供壹致的編程模型。Spring提供了壹個用標準Java語言編寫的AOP框架,它為POJOs提供了聲明式事務管理和其他企業事務——如果需要的話,還可以實現自己的方面。這個框架足夠強大,應用程序可以擺脫EJB的復雜性,享受與傳統EJB相關的關鍵服務。Spring還提供了壹個強大而靈活的MVC Web框架,可以與IoC容器集成。Spring IDE:壹個輔助開發插件SpringIDE:Eclipse平臺。
WebWork Java開源Web框架
WebWork是由OpenSymphony組織開發的壹個J2EE Web框架,采用拉出式MVC模式,致力於組件化和代碼重用。WebWork的最新版本是2.1。現在WebWork2.x是由Rickard Oberg開發的,但現在WebWork已被拆分為兩個項目:Xwork1和WebWork2。Xwork簡單、靈活且功能強大。它是壹個標準的命令模式實現,並且與web層完全分離。Xwork提供了許多核心功能:前端攔截器、運行時表單屬性驗證、類型轉換、強大的表達式語言(OGNL——對象圖表示語言)、IoC(控制反轉)容器等等。WebWork2構建於Xwork之上,後者處理HTTP響應和請求。WebWork2使用ServletDispatcher將HTTP請求映射為Action(業務層操作類)、session(應用程序)和request請求參數。WebWork2支持多視圖表示,視圖部分可以使用JSP、Velocity、Freemarker、JasperReports、XML等。基於DWR和Dojo的WebWork2.2增加了對AJAX的支持。EclipseWork:用於網絡輔助開發的Eclipse插件。
Struts Java開源Web框架
Struts是基於Sun J2EE平臺的MVC框架,主要通過Servlet和JSP技術實現。Struts在過去的壹年中備受關註,因為它可以完全滿足應用程序開發的需求,簡單易用,敏捷迅速。Struts將Servlet、JSP、自定義標簽和消息資源集成到壹個統壹的框架中,開發人員在開發時不需要自己編碼來實現全套MVC模式,大大節省了時間,因此Struts是壹個非常好的應用程序框架。Struts side:用於Struts輔助開發的Eclipse插件
Hibernate Java開源持久層框架
Hibernate是壹個開源的對象關系映射框架,它以壹種非常輕量級的方式封裝了JDBC,因此Java程序員可以使用對象編程思想隨意操作數據庫。Hibernate可以在任何使用JDBC的情況下使用,不僅可以在Java客戶端程序中使用,還可以在Servlet/JSP Web應用程序中使用。最具革命性的是Hibernate可以在EJB應用的J2EE架構中取代CMP,完成數據持久化的任務。Eclipse平臺下的Hibernate輔助開發工具:Hibernate同步圖例
Quartz Java開源作業調度
Quartz是OpenSymphony開源組織在作業調度領域的另壹個開源項目。它可以與J2EE和J2SE應用程序結合使用,也可以單獨使用。Quartz可用於創建簡單或復雜的每日計劃,以運行壹萬個、數百個甚至數萬個作業。作業可以做成標準的Java組件或EJB。Quartz的最新版本是Quartz 1.5.0。
Velocity Java開源模板引擎
Velocity是壹個基於java的模板引擎。它允許任何人簡單地使用模板語言來引用java代碼定義的對象。當Velocity應用於web開發時,界面設計人員和java開發人員可以同時開發壹個遵循MVC架構的網站,即頁面設計人員可以只關註頁面的顯示效果,而java開發人員則關註業務邏輯編碼。Velocity將java代碼從網頁中分離出來,這有利於網站的長期維護,並為我們提供了JSP和PHP之外的替代解決方案。Velocity的能力遠遠超出了網站開發領域。例如,它可以從模板生成SQL、PostScript和XML,也可以作為壹個獨立的工具來生成源代碼和報表,或者作為其他系統的集成組件。Velocity還可以為渦輪機web開發架構提供模板服務。Velocity+Turbine提供了壹個模板服務,允許使用真實的MVC模型開發web應用程序。VeloEclipse :Velocity是Eclipse平臺下的壹個輔助開發插件。
IBATIS Java開源持久層框架
使用ibatis提供的ORM機制,業務邏輯實現者面對的是純Java對象,這與通過Hibernate實現ORM基本相同。對於特定的數據操作,Hibernate會自動生成SQL語句,而ibatis則需要開發人員編寫特定的SQL語句。與Hibernate等“全自動”ORM機制相比,ibatis通過在SQL開發工作量和數據庫可移植性上做出讓步,為系統設計提供了更多的自由空間。作為實現“全自動”ORM的有益補充,ibatis的出現意義重大。
Compiere ERP & ampJava開源ERP和CRM系統
Compiere ERP & ampCRM為全球中小企業提供全面的解決方案,涵蓋從客戶管理到供應鏈到財務管理的所有領域,並支持多組織、多貨幣、多會計模型、多成本計算、多語言和多稅收制度等國際特性。易於安裝、實施和使用。只需幾個小時,您就可以使用強大的功能,如采購-采購-發票-付款、報價-訂單-發票-收款、產品和定價、資產管理、客戶關系、供應商關系、員工關系和業務績效分析。
Roller WeBlogger Java開源博客
這篇博客設計精巧,源代碼是很好的學習材料。它支持網絡日誌的功能,如評論功能,所見即所得的HTML編輯,引用通告,提供頁面模板,RSS聯合,博客管理和提供XML-RPC接口。
Eclipse Java開源開發工具
Eclipse platform是IBM捐贈給開發源碼社區的壹個開發框架。它之所以出名,不是因為IBM聲稱它總共投入了4000萬美元進行開發,而是因為如此巨大投資的結果:壹個成熟、設計良好且可擴展的架構。
NetBeans Java開源開發工具
NetBeans IDE是面向軟件開發人員的免費開源集成開發環境。您可以獲得使用Java、C/C++甚至Ruby創建專業桌面應用程序、企業應用程序、web和移動應用程序所需的所有工具。該IDE可以在許多平臺上運行,包括Windows、Linux、Mac OS X和Solaris。它易於安裝,使用非常方便。
XPlanner Java開源項目管理
XPlanner是壹個基於web的XP團隊規劃和跟蹤工具。XP具有叠代和用戶故事等獨特的開發概念,XPlanner提供了相應的管理工具。XPlanner支持XP開發過程,並解決用XP思想開發項目時遇到的問題。XPlanner具有簡單的模型規劃,虛擬便簽卡),叠代,用戶故事和工作記錄跟蹤,未完成的故事將自動叠代,工作時間將被跟蹤,團隊效率將生成,個人工作時間報告將生成,並提供SOAP接口支持。
Java開源DBMS數據庫
HSQLDB(Hypersonic SQL)是由純Java開發的關系數據庫,提供JDBC驅動的數據訪問。支持ANSI-92標準SQL語法。而且他占用的空間很小。只有160K左右,帶快速數據庫引擎。
Liferay Java開源門戶網站
它代表了壹個完整的J2EE應用程序,使用了Web、EJB和JMS等技術,尤其是在其前臺界面中使用了Struts框架技術。基於XML的portlet配置文件可以自由動態擴展,使用Web服務支持壹些遠程信息的獲取,使用ApacheLucene實現全文檢索。
JetSpeed Java開源門戶網站
Jetspeed是壹個開源企業信息門戶(EIP)的實現,使用的技術是Java和XML。用戶可以使用瀏覽器、支持WAP協議的移動電話或其他設備訪問Jetspeed設置的信息門戶以獲取信息。Jetspeed扮演著信息集中器的角色,可以將信息集中起來並輕松地提供給用戶。
JOnAS Java開源J2EE服務器
JOnAS是由ObjectWeb協會開發的開源J2EE實現。集成Tomcat或Jetty作為其Web容器,以確保符合Servlet 2.3和JSP 1.2規範。JOnAS server依賴或實現了以下Java API:JCA、JDBC、JTA、JMS、JMX、JNDI、JAAS和JavaMail。
JFox3.0 Java開源J2EE服務器
JFox是壹個開源的Java EE應用服務器,致力於提供輕量級的Java EE應用服務器。從3.0開始,JFox提供了壹個支持模塊化的MVC框架來簡化EJB和Web應用程序的開發!如果您正在尋找壹個簡單、輕量級、高效和完美的Java EE開發平臺,那麽JFox正是您所需要的。
【編輯本段】Java版本歷史
1995年5月23日,Java語言誕生。
1996 1月,第壹臺JDK-JDK1.0誕生了。
4月,1996,10主要操作系統供應商宣布將在其產品中嵌入JAVA技術。
9月,1996,用JAVA技術制作了約83,000個網頁。
1997 2月18日JDK1.1發布。
1997 4月2日,JavaOne大會召開,參會人數超過10000人,創下了當時全球同類會議規模的最高紀錄。
9月,1997,JavaDeveloperConnection社區中有超過10萬名成員。
1998的2月,JDK1.1的下載量超過200萬次。
2月8日,JAVA2企業平臺J2EE發布。
6月,SUN公司發布了Java的三個版本:標準版(J2SE)、企業版(J2EE)和迷妳版(J2ME)。
2000年5月8日,JDK1.3發布。
2000年5月29日,JDK1.4發布。
2006年6月5日,諾基亞宣布到2003年將銷售65438億部支持Java的手機。
2006年9月24日5438+0,由J2EE1.3發布。
J2SE1.4於2002年2月26日發布。從那以後,Java的計算能力得到了很大的提高。
2004年9月30日,18:00PM和J2SE1.5發布,成為Java語言發展史上的又壹個裏程碑。為了顯示該版本的重要性,J2SE1.5被重命名為Java SE 5.0。
2005年6月,JavaOne大會召開,SUN公司發布了Java SE 6。此時,各種版本的Java都被重新命名以取消數字“2”:J2EE被重新命名為Java EE,J2SE被重新命名為Java SE,J2ME被重新命名為Java ME。
2006年6月5438+2月,SUN公司發布了JRE6.0。
目前,JDK7.0正在開發中,有測試版可供下載和使用。
【編輯本段】Java和互聯網
我們知道,早期的www只能傳輸文本和圖片,而Java的出現實現了交互式頁面,這是壹次偉大的革命。
Java不是為Internet或www設計的,它也可以用來編寫獨立的應用程序。Java是面向對象的語言,和C++類似,所以掌握了C++的程序員再學Java就容易多了!Java程序需要編譯。它們被放在互聯網服務器上。當用戶訪問服務器時,Java程序被下載到本地用戶的計算機上,並由瀏覽器解釋和運行。實際上有兩種Java程序:Java應用程序是壹個完整的程序,例如Web瀏覽器。另壹個Java小應用程序是在網絡瀏覽器中運行的程序。
Java程序及其瀏覽器HotJava為您的瀏覽器提供了壹種運行程序的方法。妳可以直接在瀏覽器上播放聲音,也可以播放頁面上的動畫,Java可以告訴妳的瀏覽器如何處理新類型的文件。當我們可以在2400波特線上傳輸這些視頻時,HotJava將能夠顯示這些視頻。
【編輯本段】Java和電子商務
電子商務是當今的熱門話題。然而,傳統的編程語言無法勝任電子商務系統。電子商務要求程序代碼具有基本要求:安全性、可靠性以及與運行在不同平臺上的全球客戶開展業務的能力。Java以其強大的安全性、平臺獨立性、硬件結構獨立性、簡潔的語言和面向對象性在網絡編程語言中占據著無與倫比的優勢,成為實現電子商務系統的首選語言。
【編輯本段】Java的八種基本數據類型及其打包類
原始類型包類
簡短簡短
int整數
龍龍
浮子浮子
雙人雙人
字節字節
字符字符
布爾布爾型
【編輯本段】HelloWorld,第壹個JAVA程序
//文件名HelloWorld.java
//聲明類
公共類HelloWorld {
//聲明壹個方法
公共靜態void main(String【】args ){
//輸出
system . out . println(“hello world!);
}
}