Java是由Sun Microsystems公司于1995年5月推出的Java程序設(shè)計(jì)語(yǔ)言(以下簡(jiǎn)稱(chēng)Java語(yǔ)言)和Java平臺(tái)的總稱(chēng)。用Java實(shí)現(xiàn)的HotJava瀏覽器(支持Java applet)顯示了Java的魅力:跨平臺(tái)、動(dòng)態(tài)的Web、Internet計(jì)算。從此,Java被廣泛接受并推動(dòng)了Web的迅速發(fā)展,常用的瀏覽器現(xiàn)在均支持Java applet。另一方面,Java技術(shù)也不斷更新。
讓客戶(hù)滿(mǎn)意是我們工作的目標(biāo),不斷超越客戶(hù)的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶(hù),將通過(guò)不懈努力成為客戶(hù)在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)頁(yè)空間、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、霍爾果斯網(wǎng)站維護(hù)、網(wǎng)站推廣。
Java平臺(tái)由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡(jiǎn)稱(chēng)API)構(gòu)成。Java 應(yīng)用編程接口為Java應(yīng)用提供了一個(gè)獨(dú)立于操作系迅旅統(tǒng)的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行。現(xiàn)在Java平臺(tái)已經(jīng)嵌入了幾乎所有的操作系統(tǒng)。這樣Java程序可以只編譯一次,就可以在各種系統(tǒng)中運(yùn)行。Java應(yīng)用編程接口已經(jīng)從1.1x版發(fā)展到1.2版。目前常用的Java平臺(tái)基于Java1.4,最近版本為Java1.7。
Java分為三個(gè)體系J2SE(Java2 Standard Edition),J2EE(Java 2 Platform,Enterprise Edition),J2ME(Java 2 Micro Edition)。
[編輯本段]Java語(yǔ)言特點(diǎn)
Java是一種簡(jiǎn)單的,面向?qū)ο蟮模植际降?,解釋型的,健壯安全的,結(jié)構(gòu)中立的,可移植的,性能優(yōu)異、多線程的動(dòng)態(tài)語(yǔ)言。
當(dāng)1995年SUN推出Java語(yǔ)言之后,全世界的目光都被這個(gè)神奇的語(yǔ)言所吸引。那么Java到底有何神奇之處呢?
Java語(yǔ)言其實(shí)最早誕生于1991年,起初被稱(chēng)為OAK語(yǔ)言,是SUN公司為一些消費(fèi)性電子產(chǎn)品而設(shè)計(jì)的一個(gè)通用環(huán)境。他們最初的目的只是為了開(kāi)發(fā)一種獨(dú)立于平臺(tái)的軟件技術(shù),而且在網(wǎng)絡(luò)出現(xiàn)之前,OAK可以說(shuō)是默默無(wú)聞,甚至差點(diǎn)夭折。但是,網(wǎng)絡(luò)的出現(xiàn)改變了OAK的命運(yùn)。
在Java出現(xiàn)以前頌昌橡,Internet上的信息內(nèi)容都是一些乏味死板的HTML文檔。這對(duì)于那些迷戀于WEB瀏覽的人們來(lái)說(shuō)簡(jiǎn)直不可容忍。他們迫切希望能在WEB中看到一些交互式的內(nèi)容,開(kāi)發(fā)人員也極希望能夠在WEB上創(chuàng)建一類(lèi)無(wú)需考慮軟硬件平臺(tái)就可以執(zhí)行的應(yīng)用程序,當(dāng)然這些程序還要有極大的安全保障。對(duì)于用戶(hù)的這種要求,傳統(tǒng)的編程語(yǔ)言顯得無(wú)能為力。SUN的工程師敏銳地察覺(jué)到了這一點(diǎn),從1994年起,他們開(kāi)始將OAK技術(shù)應(yīng)用于WEB上,并且開(kāi)發(fā)出了HotJava的第一個(gè)版本。當(dāng)SUN公司1995年正式以Java這個(gè)名字推出的時(shí)候,幾乎所有的WEB開(kāi)發(fā)人員都心生感嘆:噢,這正是我想要的!于是Java成了一顆耀眼的明星,丑野旁小鴨一下了變成了白天鵝。
[編輯本段]Java主要特性
1、Java語(yǔ)言是簡(jiǎn)單的。Java語(yǔ)言的語(yǔ)法與C語(yǔ)言和C++語(yǔ)言很接近,使得大多數(shù)程序員很容易學(xué)習(xí)和使用Java。另一方面,Java丟棄了C++ 中很少使用的、很難理解的、令人迷惑的那些特性,如操作符重載、多繼承、自動(dòng)的強(qiáng)制類(lèi)型轉(zhuǎn)換。特別地,Java語(yǔ)言不使用指針,并提供了自動(dòng)的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂(yōu)。
2、Java語(yǔ)言是一個(gè)面向?qū)ο蟮?。Java語(yǔ)言提供類(lèi)、接口和繼承等原語(yǔ),為了簡(jiǎn)單起見(jiàn),只支持類(lèi)之間的單繼承,但支持接口之間的多繼承,并支持類(lèi)與接口之間的實(shí)現(xiàn)機(jī)制(關(guān)鍵字為implements)。Java語(yǔ)言全面支持動(dòng)態(tài)綁定,而C++ 語(yǔ)言只對(duì)虛函數(shù)使用動(dòng)態(tài)綁定??傊琂ava語(yǔ)言是一個(gè)純的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言。
3、Java語(yǔ)言是分布式的。Java語(yǔ)言支持Internet應(yīng)用的開(kāi)發(fā),在基本的Java應(yīng)用編程接口中有一個(gè)網(wǎng)絡(luò)應(yīng)用編程接口(java點(diǎn)虐 ),它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類(lèi)庫(kù),包括URL、URLConnection、Socket、 ServerSocket等。Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開(kāi)發(fā)分布式應(yīng)用的重要手段。
4、Java語(yǔ)言是健壯的。Java的強(qiáng)類(lèi)型機(jī)制、異常處理、廢料的自動(dòng)收集等是Java程序健壯性的重要保證。對(duì)指針的丟棄是Java的明智選擇。Java的安全檢查機(jī)制使得Java更具健壯性。
5、Java語(yǔ)言是安全的。Java通常被用在網(wǎng)絡(luò)環(huán)境中,為此,Java提供了一個(gè)安全機(jī)制以防惡意代碼的攻擊。除了Java語(yǔ)言具有的許多安全特性以外,Java對(duì)通過(guò)網(wǎng)絡(luò)下載的類(lèi)具有一個(gè)安全防范機(jī)制(類(lèi)ClassLoader),如分配不同的名字空間以防替代本地的同名類(lèi)、字節(jié)代碼檢查,并提供安全管理機(jī)制(類(lèi)SecurityManager)讓Java應(yīng)用設(shè)置安全哨兵。
6、Java語(yǔ)言是體系結(jié)構(gòu)中立的。Java程序(后綴為java的文件)在Java平臺(tái)上被編譯為體系結(jié)構(gòu)中立的字節(jié)碼格式(后綴為class的文件), 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。這種途徑適合于異構(gòu)的網(wǎng)絡(luò)環(huán)境和軟件的分發(fā)。
7、Java語(yǔ)言是可移植的。這種可移植性來(lái)源于體系結(jié)構(gòu)中立性,另外,Java還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類(lèi)型的長(zhǎng)度。Java系統(tǒng)本身也具有很強(qiáng)的可移植性,Java編譯器是用Java實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSI C實(shí)現(xiàn)的。
8、Java語(yǔ)言是解釋型的。如前所述,Java程序在Java平臺(tái)上被編譯為字節(jié)碼格式, 然后可以在實(shí)現(xiàn)這個(gè)Java平臺(tái)的任何系統(tǒng)中運(yùn)行。在運(yùn)行時(shí),Java平臺(tái)中的Java解釋器對(duì)這些字節(jié)碼進(jìn)行解釋執(zhí)行,執(zhí)行過(guò)程中需要的類(lèi)在聯(lián)接階段被載入到運(yùn)行環(huán)境中。
9、Java是高性能的。與那些解釋型的高級(jí)腳本語(yǔ)言相比,Java的確是高性能的。事實(shí)上,Java的運(yùn)行速度隨著JIT(Just-In-Time)編譯器技術(shù)的發(fā)展越來(lái)越接近于C++。
10、Java語(yǔ)言是多線程的。在Java語(yǔ)言中,線程是一種特殊的對(duì)象,它必須由Thread類(lèi)或其子(孫)類(lèi)來(lái)創(chuàng)建。通常有兩種方法來(lái)創(chuàng)建線程:其一,使用型構(gòu)為T(mén)hread(Runnable) 的構(gòu)造子將一個(gè)實(shí)現(xiàn)了Runnable接口的對(duì)象包裝成一個(gè)線程,其二,從Thread類(lèi)派生出子類(lèi)并重寫(xiě)run方法,使用該子類(lèi)創(chuàng)建的對(duì)象即為線程。值得注意的是Thread類(lèi)已經(jīng)實(shí)現(xiàn)了Runnable接口,因此,任何一個(gè)線程均有它的run方法,而run方法中包含了線程所要運(yùn)行的代碼。線程的活動(dòng)由一組方法來(lái)控制。 Java語(yǔ)言支持多個(gè)線程的同時(shí)執(zhí)行,并提供多線程之間的同步機(jī)制(關(guān)鍵字為synchronized)。
11、Java語(yǔ)言是動(dòng)態(tài)的。Java語(yǔ)言的設(shè)計(jì)目標(biāo)之一是適應(yīng)于動(dòng)態(tài)變化的環(huán)境。Java程序需要的類(lèi)能夠動(dòng)態(tài)地被載入到運(yùn)行環(huán)境,也可以通過(guò)網(wǎng)絡(luò)來(lái)載入所需要的類(lèi)。這也有利于軟件的升級(jí)。另外,Java中的類(lèi)有一個(gè)運(yùn)行時(shí)刻的表示,能進(jìn)行運(yùn)行時(shí)刻的類(lèi)型檢查。
Java語(yǔ)言的優(yōu)良特性使得Java應(yīng)用具有無(wú)比的健壯性和可靠性,這也減少了應(yīng)用系統(tǒng)的維護(hù)費(fèi)用。Java對(duì)對(duì)象技術(shù)的全面支持和Java平臺(tái)內(nèi)嵌的API能縮短應(yīng)用系統(tǒng)的開(kāi)發(fā)時(shí)間并降低成本。Java的編譯一次,到處可運(yùn)行的特性使得它能夠提供一個(gè)隨處可用的開(kāi)放結(jié)構(gòu)和在多平臺(tái)之間傳遞信息的低成本方式。特別是Java企業(yè)應(yīng)用編程接口(Java Enterprise APIs)為企業(yè)計(jì)算及電子商務(wù)應(yīng)用系統(tǒng)提供了有關(guān)技術(shù)和豐富的類(lèi)庫(kù)。
[編輯本段]Java相關(guān)技術(shù)
1、JDBC(Java Database Connectivity)提供連接各種關(guān)系數(shù)據(jù)庫(kù)的統(tǒng)一接口。
2、EJB(Enterprise JavaBeans)使得開(kāi)發(fā)者方便地創(chuàng)建、部署和管理跨平臺(tái)的基于組件的企業(yè)應(yīng)用。
3、Java RMI(Java Remote Method Invocation)用來(lái)開(kāi)發(fā)分布式Java應(yīng)用程序。一個(gè)Java對(duì)象的方法能被遠(yuǎn)程Java虛擬機(jī)調(diào)用。這樣,遠(yuǎn)程方法激活可以發(fā)生在對(duì)等的兩端,也可以發(fā)生在客戶(hù)端和服務(wù)器之間,只要雙方的應(yīng)用程序都是用Java寫(xiě)的。
4、Java IDL(Java Interface Definition Language) 提供與CORBA(Common Object Request Broker Architecture)的無(wú)縫的互操作性。這使得Java能集成異構(gòu)的商務(wù)信息資源。
5、JNDI(Java Naming and Directory Interface)提供從Java平臺(tái)到的統(tǒng)一的無(wú)縫的連接。這個(gè)接口屏蔽了企業(yè)網(wǎng)絡(luò)所使用的各種命名和目錄服務(wù)。
6、JMAPI(Java Management API)為異構(gòu)網(wǎng)絡(luò)上系統(tǒng)、網(wǎng)絡(luò)和服務(wù)管理的開(kāi)發(fā)提供一整套豐富的對(duì)象和方法。
7、JMS(Java Message Service)提供企業(yè)消息服務(wù),如可靠的消息隊(duì)列、發(fā)布和訂閱通信、以及有關(guān)推拉(Push/Pull)技術(shù)的各個(gè)方面。
8、JTS(Java transaction Service)提供存取事務(wù)處理資源的開(kāi)放標(biāo)準(zhǔn),這些事務(wù)處理資源包括事務(wù)處理應(yīng)用程序、事務(wù)處理管理及監(jiān)控。
在Java技術(shù)中,值得關(guān)注的還有JavaBeans,它是一個(gè)開(kāi)放的標(biāo)準(zhǔn)的組件體系結(jié)構(gòu),它獨(dú)立于平臺(tái),但使用Java語(yǔ)言。一個(gè)JavaBean是一個(gè)滿(mǎn)足JavaBeans規(guī)范的Java類(lèi),通常定義了一個(gè)現(xiàn)實(shí)世界的事物或概念。一個(gè)JavaBean的主要特征包括屬性、方法和事件。通常,在一個(gè)支持JavaBeans規(guī)范的開(kāi)發(fā)環(huán)境(如Sun Java Studio 和IBM VisualAge for Java)中,可以可視地操作JavaBean,也可以使用JavaBean構(gòu)造出新的JavaBean。JavaBean的優(yōu)勢(shì)還在于Java帶來(lái)的可移植性。現(xiàn)在,EJB (Enterprise JavaBeans) 將JavaBean概念擴(kuò)展到Java服務(wù)端組件體系結(jié)構(gòu),這個(gè)模型支持多層的分布式對(duì)象應(yīng)用。除了JavaBeans,典型的組件體系結(jié)構(gòu)還有DCOM和CORBA,關(guān)于這些組件體系結(jié)構(gòu)的深入討論超出了本書(shū)的范圍。
[編輯本段]Java開(kāi)源項(xiàng)目
Spring Framework
Spring 是一個(gè)解決了許多在J2EE開(kāi)發(fā)中常見(jiàn)的問(wèn)題的強(qiáng)大框架。 Spring提供了管理業(yè)務(wù)對(duì)象的一致方法并且鼓勵(lì)了注入對(duì)接口編程而不是對(duì)類(lèi)編程的良好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用JavaBean屬性的 Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構(gòu)建完關(guān)注所有架構(gòu)層的完整解決方案方面是獨(dú)一無(wú)二的。 Spring提供了唯一的數(shù)據(jù)訪問(wèn)抽象,包括簡(jiǎn)單和有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問(wèn)架構(gòu)還集成了 Hibernate和其他O/R mapping解決方案。Spring還提供了唯一的事務(wù)管理抽象,它能夠在各種底層事務(wù)管理技術(shù),例如JTA或者JDBC事務(wù)提供一個(gè)一致的編程模型。 Spring提供了一個(gè)用標(biāo)準(zhǔn)Java語(yǔ)言編寫(xiě)的AOP框架,它給POJOs提供了聲明式的事務(wù)管理和其他企業(yè)事務(wù)--如果你需要--還能實(shí)現(xiàn)你自己的 aspects。這個(gè)框架足夠強(qiáng)大,使得應(yīng)用程序能夠拋開(kāi)EJB的復(fù)雜性,同時(shí)享受著和傳統(tǒng)EJB相關(guān)的關(guān)鍵服務(wù)。Spring還提供了可以和IoC容器集成的強(qiáng)大而靈活的MVC Web框架。.
WebWork
WebWork 是由OpenSymphony組織開(kāi)發(fā)的,致力于組件化和代碼重用的拉出式MVC模式J2EE Web框架。WebWork目前最新版本是2.1,現(xiàn)在的WebWork2.x前身是Rickard Oberg開(kāi)發(fā)的WebWork,但現(xiàn)在WebWork已經(jīng)被拆分成了Xwork1和WebWork2兩個(gè)項(xiàng)目。 Xwork簡(jiǎn)潔、靈活功能強(qiáng)大,它是一個(gè)標(biāo)準(zhǔn)的Command模式實(shí)現(xiàn),并且完全從web層脫離出來(lái)。 Xwork提供了很多核心功能:前端攔截機(jī)(interceptor),運(yùn)行時(shí)表單屬性驗(yàn)證,類(lèi)型轉(zhuǎn)換,強(qiáng)大的表達(dá)式語(yǔ)言(OGNL – the Object Graph Notation Language),IoC(Inversion of Control倒置控制)容器等。 WebWork2建立在Xwork之上,處理HTTP的響應(yīng)和請(qǐng)求。WebWork2使用ServletDispatcher將HTTP請(qǐng)求的變成 Action(業(yè)務(wù)層Action類(lèi)), session(會(huì)話(huà))application(應(yīng)用程序)范圍的映射,request請(qǐng)求參數(shù)映射。WebWork2支持多視圖表示,視圖部分可以使用 JSP, Velocity, FreeMarker, JasperReports,XML等。在WebWork2.2中添加了對(duì)AJAX的支持,這支持是構(gòu)建在DWR與Dojo這兩個(gè)框架的基礎(chǔ)之上.
Struts
Struts 是一個(gè)基于Sun J2EE平臺(tái)的MVC框架,主要是采用Servlet和JSP技術(shù)來(lái)實(shí)現(xiàn)的。由于Struts能充分滿(mǎn)足應(yīng)用開(kāi)發(fā)的需求,簡(jiǎn)單易用,敏捷迅速,在過(guò)去的一年中頗受關(guān)注。Struts把Servlet、JSP、自定義標(biāo)簽和信息資源(message resources)整合到一個(gè)統(tǒng)一的框架中,開(kāi)發(fā)人員利用其進(jìn)行開(kāi)發(fā)時(shí)不用再自己編碼實(shí)現(xiàn)全套MVC模式,極大的節(jié)省了時(shí)間,所以說(shuō)Struts是一個(gè)非常不錯(cuò)的應(yīng)用框架。
Hibernate
Hibernate 是一個(gè)開(kāi)放源代碼的對(duì)象關(guān)系映射框架,它對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶(hù)端程序?qū)嵱?,也可以在Servlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。Eclipse平臺(tái)下的Hibernate輔助開(kāi)發(fā)工具:
Quartz
Quartz 是OpenSymphony開(kāi)源組織在Job scheduling領(lǐng)域又一個(gè)開(kāi)源項(xiàng)目,它可以與J2EE與J2SE應(yīng)用程序相結(jié)合也可以單獨(dú)使用。Quartz可以用來(lái)創(chuàng)建簡(jiǎn)單或?yàn)檫\(yùn)行十個(gè),百個(gè),甚至是好幾萬(wàn)個(gè)Jobs這樣復(fù)雜的日程序表。Jobs可以做成標(biāo)準(zhǔn)的Java組件或 EJBs。Quartz的最新版本為Quartz 1.5.0。
Velocity
Velocity 是一個(gè)基于java的模板引擎(template engine)。它允許任何人僅僅簡(jiǎn)單的使用模板語(yǔ)言(template language)來(lái)引用由java代碼定義的對(duì)象。當(dāng)Velocity應(yīng)用于web開(kāi)發(fā)時(shí),界面設(shè)計(jì)人員可以和java程序開(kāi)發(fā)人員同步開(kāi)發(fā)一個(gè)遵循MVC架構(gòu)的web站點(diǎn),也就是說(shuō),頁(yè)面設(shè)計(jì)人員可以只關(guān)注頁(yè)面的顯示效果,而由java程序開(kāi)發(fā)人員關(guān)注業(yè)務(wù)邏輯編碼。Velocity將java代碼從web頁(yè)面中分離出來(lái),這樣為web站點(diǎn)的長(zhǎng)期維護(hù)提供了便利,同時(shí)也為我們?cè)贘SP和PHP之外又提供了一種可選的方案。 Velocity的能力遠(yuǎn)不止web站點(diǎn)開(kāi)發(fā)這個(gè)領(lǐng)域,例如,它可以從模板(template)產(chǎn)生SQL和PostScript、XML,它也可以被當(dāng)作一個(gè)獨(dú)立工具來(lái)產(chǎn)生源代碼和報(bào)告,或者作為其他系統(tǒng)的集成組件使用。Velocity也可以為T(mén)urbine web開(kāi)發(fā)架構(gòu)提供模板服務(wù)(template service)。Velocity+Turbine提供一個(gè)模板服務(wù)的方式允許一個(gè)web應(yīng)用以一個(gè)真正的MVC模型進(jìn)行開(kāi)發(fā)。
IBATIS
使用ibatis 提供的ORM機(jī)制,對(duì)業(yè)務(wù)邏輯實(shí)現(xiàn)人員而言,面對(duì)的是純粹的Java對(duì)象, 這一層與通過(guò)Hibernate 實(shí)現(xiàn)ORM 而言基本一致,而對(duì)于具體的數(shù)據(jù)操作,Hibernate 會(huì)自動(dòng)生成SQL 語(yǔ)句,而ibatis 則要求開(kāi)發(fā)者編寫(xiě)具體的SQL 語(yǔ)句。相對(duì)Hibernate等 “全自動(dòng)”O(jiān)RM機(jī)制而言,ibatis 以SQL開(kāi)發(fā)的工作量和數(shù)據(jù)庫(kù)移植性上的讓步,為系統(tǒng)設(shè)計(jì)提供了更大的自由空間。作為“全自動(dòng)”O(jiān)RM 實(shí)現(xiàn)的一種有益補(bǔ)充,ibatis 的出現(xiàn)顯 得別具意義。
Compiere ERPCRM
Compiere ERPCRM為全球范圍內(nèi)的中小型企業(yè)提供綜合型解決方案,覆蓋從客戶(hù)管理、供應(yīng)鏈到財(cái)務(wù)管理的全部領(lǐng)域,支持多組織、多幣種、多會(huì)計(jì)模式、多成本計(jì)算、多語(yǔ)種、多稅制等國(guó)際化特性。易于安裝、易于實(shí)施、易于使用。只需要短短幾個(gè)小時(shí),您就可以使用申購(gòu)-采購(gòu)-發(fā)票-付款、報(bào)價(jià)-訂單-發(fā)票-收款、產(chǎn)品與定價(jià)、資產(chǎn)管理、客戶(hù)關(guān)系、供應(yīng)商關(guān)系、員工關(guān)系、經(jīng)營(yíng)業(yè)績(jī)分析等強(qiáng)大功能了。
Roller Weblogger
這個(gè)weblogging 設(shè)計(jì)得比較精巧,源代碼是很好的學(xué)習(xí)資料。它支持weblogging應(yīng)有的特性如:評(píng)論功能,所見(jiàn)即所得HTML編輯,TrackBack,提供頁(yè)面模板,RSS syndication,blogroll管理和提供一個(gè)XML-RPC 接口。
Eclipse
Eclipse平臺(tái)是IBM向開(kāi)發(fā)源碼社區(qū)捐贈(zèng)的開(kāi)發(fā)框架,它之所以出名并不是因?yàn)镮BM宣稱(chēng)投入開(kāi)發(fā)的資金總數(shù) —4千萬(wàn)美元,而是因?yàn)槿绱司薮蟮耐度胨鶐?lái)的成果:一個(gè)成熟的、精心設(shè)計(jì)的以及可擴(kuò)展的體系結(jié)構(gòu)。
NetBeans
NetBeans IDE 是一個(gè)為軟件開(kāi)發(fā)者提供的自由、開(kāi)源的集成開(kāi)發(fā)環(huán)境。您可以從中獲得您所需要的所有工具,用 Java、C/C++ 甚至是 Ruby 來(lái)創(chuàng)建專(zhuān)業(yè)的桌面應(yīng)用程序、企業(yè)應(yīng)用程序、web 和移動(dòng)應(yīng)用程序。此 IDE 可以在多種平臺(tái)上運(yùn)行,包括 Windows、Linux、Mac OS X 以及 Solaris;它易于安裝且非常方便使用。
XPlanner
XPlanner 一個(gè)基于Web的XP團(tuán)隊(duì)計(jì)劃和跟蹤工具。XP獨(dú)特的開(kāi)發(fā)概念如iteration、user stories等,XPlanner都提供了相對(duì)應(yīng)的的管理工具,XPlanner支持XP開(kāi)發(fā)流程,并解決利用XP思想來(lái)開(kāi)發(fā)項(xiàng)目所碰到的問(wèn)題。 XPlanner特點(diǎn)包括:簡(jiǎn)單的模型規(guī)劃,虛擬筆記卡(Virtual note cards),iterations、user stories與工作記錄的追蹤,未完成stories將自動(dòng)迭代,工作時(shí)間追蹤,生成團(tuán)隊(duì)效率,個(gè)人工時(shí)報(bào)表,SOAP界面支持。
HSQLDB
HSQLDB(Hypersonic SQL)是純Java開(kāi)發(fā)的關(guān)系型數(shù)據(jù)庫(kù),并提供JDBC驅(qū)動(dòng)存取數(shù)據(jù)。支持ANSI-92 標(biāo)準(zhǔn) SQL語(yǔ)法。而且他占的空間很小。大約只有160K,擁有快速的數(shù)據(jù)庫(kù)引擎。
Liferay
代表了完整的J2EE應(yīng)用,使用了Web、EJB以及JMS等技術(shù),特別是其前臺(tái)界面部分使用Struts 框架技術(shù),基于XML的portlet配置文件可以自由地動(dòng)態(tài)擴(kuò)展,使用了Web Services來(lái)支持一些遠(yuǎn)程信息的獲取,使用 Apahce Lucene實(shí)現(xiàn)全文檢索功能。
JetSpeed
Jetspeed 是一個(gè)開(kāi)放源代碼的企業(yè)信息門(mén)戶(hù)(EIP)的實(shí)現(xiàn),使用的技術(shù)是Java和XML。用戶(hù)可以使用瀏覽器,支持WAP協(xié)議的手機(jī)或者其它的設(shè)備訪問(wèn)Jetspeed架設(shè)的信息門(mén)戶(hù)獲取信息。Jetspeed扮演著信息集中器的角色,它能夠把信息集中起來(lái)并且很容易地提供給用戶(hù)。
JOnAS
JOnAS 是一個(gè)開(kāi)放源代碼的J2EE實(shí)現(xiàn),在ObjectWeb協(xié)會(huì)中開(kāi)發(fā)。整合了Tomcat或Jetty成為它的Web容器,以確保符合Servlet 2.3和JSP 1.2規(guī)范。JOnAS服務(wù)器依賴(lài)或?qū)崿F(xiàn)以下的Java API:JCA、JDBC、JTA 、JMS、JMX、JNDI、JAAS、JavaMail 。
JFox3.0
JFox 是 Open Source Java EE Application Server,致力于提供輕量級(jí)的Java EE應(yīng)用服務(wù)器,從3.0開(kāi)始,JFox提供了一個(gè)支持模塊化的MVC框架,以簡(jiǎn)化EJB以及Web應(yīng)用的開(kāi)發(fā)! 如果您正在尋找一個(gè)簡(jiǎn)單、輕量、高效、完善的Java EE開(kāi)發(fā)平臺(tái),那么JFox正是您需要的。
[編輯本段]Java版本歷史
1995年5月23日,Java語(yǔ)言誕生
1996年1月,第一個(gè)JDK-JDK1.0誕生
1996年4月,10個(gè)最主要的操作系統(tǒng)供應(yīng)商申明將在其產(chǎn)品中嵌入JAVA技術(shù)
1996年9月,約8.3萬(wàn)個(gè)網(wǎng)頁(yè)應(yīng)用了JAVA技術(shù)來(lái)制作
1997年2月18日,JDK1.1發(fā)布
1997年4月2日,JavaOne會(huì)議召開(kāi),參與者逾一萬(wàn)人,創(chuàng)當(dāng)時(shí)全球同類(lèi)會(huì)議規(guī)模之紀(jì)錄
1997年9月,JavaDeveloperConnection社區(qū)成員超過(guò)十萬(wàn)
1998年2月,JDK1.1被下載超過(guò)2,000,000次
1998年12月8日,JAVA2企業(yè)平臺(tái)J2EE發(fā)布
1999年6月,SUN公司發(fā)布Java的三個(gè)版本:標(biāo)準(zhǔn)版(J2SE)、企業(yè)版(J2EE)和微型版(J2ME)
2000年5月8日,JDK1.3發(fā)布
2000年5月29日,JDK1.4發(fā)布
2001年6月5日,NOKIA宣布,到2003年將出售1億部支持Java的手機(jī)
2001年9月24日,J2EE1.3發(fā)布
2002年2月26日,J2SE1.4發(fā)布,自此Java的計(jì)算能力有了大幅提升
2004年9月30日18:00PM,J2SE1.5發(fā)布,成為Java語(yǔ)言發(fā)展史上的又一里程碑。為了表示該版本的重要性,J2SE1.5更名為Java SE 5.0
2005年6月,JavaOne大會(huì)召開(kāi),SUN公司公開(kāi)Java SE 6。此時(shí),Java的各種版本已經(jīng)更名,以取消其中的數(shù)字“2”:J2EE更名為Java EE,J2SE更名為Java SE,J2ME更名為Java ME
2006年12月,SUN公司發(fā)布JRE6.0
目前JDK7.0已經(jīng)在研發(fā)中,已經(jīng)有測(cè)試版在 可以下載使用
[編輯本段]Java與Internet
我們知道,早先的www僅可以傳送文本和圖片,Java的出現(xiàn)實(shí)現(xiàn)了互動(dòng)的頁(yè)面,是一次偉大的革命。
Java并不是為Internet、www而設(shè)計(jì)的,它也可以用來(lái)編寫(xiě)?yīng)毩⒌膽?yīng)用程序。Java是一種面向?qū)ο笳Z(yǔ)言,Java語(yǔ)言類(lèi)似于C++語(yǔ)言,所以已熟練掌握C++語(yǔ)言的編程人員,再學(xué)習(xí)Java語(yǔ)言就容易得多!Java程序需要編譯,它被放置在Internet服務(wù)器上,當(dāng)用戶(hù)訪問(wèn)服務(wù)器時(shí),Java程序被下載到本地的用戶(hù)機(jī)上,由瀏覽器解釋運(yùn)行。實(shí)際上有兩種Java程序:一種Java應(yīng)用程序是一個(gè)完整的程序,如Web瀏覽器。另一種Java小應(yīng)用程序是運(yùn)行于Web瀏覽器中的一個(gè)程序。
Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運(yùn)行程序的方法。你能從你的瀏覽器里直接播放聲音,你還能播放頁(yè)面里的動(dòng)畫(huà),Java還能告訴你的瀏覽器怎樣處理新的類(lèi)型文件。當(dāng)我們能在2400 baud線上傳輸視頻圖象時(shí),HotJava將能顯示這些視頻。
[編輯本段]Java與電子商務(wù)
電子商務(wù)是當(dāng)今的熱門(mén)話(huà)題,然而傳統(tǒng)的編程語(yǔ)言難以勝任電子商務(wù)系統(tǒng),電子商務(wù)要求程序代碼具有基本的要求:安全、可靠、同時(shí)要求能與運(yùn)行于不同平臺(tái)的機(jī)器的全世界客戶(hù)開(kāi)展業(yè)務(wù)。Java以其強(qiáng)安全性、平臺(tái)無(wú)關(guān)性、硬件結(jié)構(gòu)無(wú)關(guān)性、語(yǔ)言簡(jiǎn)潔同時(shí)面向?qū)ο?,在網(wǎng)絡(luò)編程語(yǔ)言中占據(jù)無(wú)可比擬的優(yōu)勢(shì),成為實(shí)現(xiàn)電子商務(wù)系統(tǒng)的首選語(yǔ)言。
[編輯本段]Java的八大基本數(shù)據(jù)類(lèi)型及其包裝類(lèi)
原始類(lèi)型 包裝類(lèi)
short Short
int Integer
long Long
float Float
double Double
byte Byte
char Character
boolean Boolean
[編輯本段]第一個(gè)JAVA程序HelloWorld
//文件名 HelloWorld.java
//聲明一個(gè)類(lèi)
public class HelloWorld {
//聲明一個(gè)方法
public static void main(String[] args){
//輸出
System.out.println("hello world!");
}
}
就是未經(jīng)過(guò)編譯的java代碼文件,擴(kuò)展名是java的文本類(lèi)型的文衡輪件,喚握可以用記事本打開(kāi),但是和攔慶無(wú)法運(yùn)行,必須要用編譯器編譯成class文件才可以運(yùn)行
開(kāi)源項(xiàng)目是指項(xiàng)目的原代碼是對(duì)外公開(kāi),大家都可以看到,可以下載