Java語言的技術(shù)優(yōu)勢
1.跨平臺
“一次編寫,隨處運行”,Java系統(tǒng)可以運行在不同的操作系統(tǒng)和硬件上。隨著Linux的持續(xù)增長以及Mac OSX完全支持Java技術(shù),跨平臺的特性變得越來越有分量。
由于Java跨平臺,Java API自然也是平臺統(tǒng)一的。對程序員而言,沒有比統(tǒng)一的API函數(shù)能夠讓他們更欣慰的了——已經(jīng)有了圓形的輪子,何必再從頭發(fā)明輪子呢?我們拿Java API與C++的類庫相比便可以知道它的可貴之處。有Windows編程經(jīng)驗的C++程序員肯定經(jīng)歷過被MFC(Microsoft Foundation Classes,微軟基類庫)折磨的日子,學習曲線陡峭,沒有若干個月根本無法開始生產(chǎn),一段時間不接觸遺忘率又高。據(jù)說,即使在微軟公司內(nèi)部,除了 MFC開發(fā)小組,誰都不樂意用它。即便你熟悉了MFC,能夠順利開發(fā)Windows應(yīng)用程序,如果你要編寫一個Linux應(yīng)用程序,MFC又派不上用場了,你必須學習Linux下C++開發(fā)的一套庫函數(shù)。還有UNIX、FreeBSD、Mac OS……你學得過來嗎?反觀Java API,操作系統(tǒng),你愛誰是誰,只要編寫一次便可隨處運行!
2.免費
Sun(雖然現(xiàn)在已被甲骨文收購但我還是喜歡說Sun)免費提供用來開發(fā)Java應(yīng)用程序的一切,你不必付任何的版稅。或許你會將信將疑:資本家搞共產(chǎn)了?實際上,Sun在Java上的收益確實不大,遠遠比不過壟斷Java應(yīng)用服務(wù)器技術(shù)的IBM和BEA公司,似乎有替別人做嫁衣之嫌。對此,Sun董事長、總裁兼首席執(zhí)行官Scott McNealy是這樣解釋的:“Sun并沒有用Java賺錢,這就像使用英語不用上稅一樣,Sun并不通過Java本身來盈利,而是把Java應(yīng)用到了業(yè)務(wù)中。”原來是放長線釣大魚!
與Java本身相比,Java API更是可貴的免費財富。想使用Socket操作網(wǎng)絡(luò)?API中有;想連接到SQL數(shù)據(jù)庫?API中有;想給應(yīng)用程序一個漂亮的用戶界面?API中有;想要處理數(shù)字圖形、播放音樂、解析字符串或者創(chuàng)建數(shù)字簽名?API中全都有。
最后,Java發(fā)展了那么多年,優(yōu)秀的Java教程、技術(shù)網(wǎng)站數(shù)不勝數(shù)。Bruce Eckel大師的名作Java編程思想(Thinking in java)更是不可不讀的佳作,許多狂熱愛好者甚至把它當做圣經(jīng)一樣一頁一頁仔細揣摩。你可到作者的主頁http://www.BruceEckel.com免費下載此書的電子版。機械工業(yè)出版社也有引進臺灣技術(shù)作家候捷的中譯本,可惜不是免費。
或許你會問,有了那么多優(yōu)秀的教程,還要你這個Java咖啡館干什么呢?嗯哼,雖然那些教程和技術(shù)文章是如此優(yōu)秀,但并不適合初學者。Java咖啡館目的就在于幫助你打好Java技術(shù)的基礎(chǔ),掌握Java技術(shù)的主要脈絡(luò),幫助你邁出進入Java世界的第一步!
3.在學術(shù)界獲得了強有力的支持
由于免費、跨平臺、Java語言本身技術(shù)先進,在高校中,Java 已經(jīng)成為許多學科研究、課程和計算的首選語言,用Java做上機作業(yè),一般都是鼓勵的。據(jù)我所知,北大、清華許多院系的研究生入學考試都可以用Java語言答題。實際上,用Java來完成這些工作,大多數(shù)情況下要比用C或其他語言簡潔得多,你可以把注意力集中在算法等核心部分,從而獲得更高分數(shù)。
掌握Java技術(shù)的學生一般有更多的工作機會課余兼職,拿到更高報酬,不但減輕家里的負擔,更可以讓自己早日進入社會鍛煉。所以,如果你還在求學,學習Java,一定沒錯的。
4.簡單
與C++等語言相比較,語法上Java是簡單的。
謝天謝地,Java提供了垃圾回收機制。以往C++的開發(fā)中,最容易出錯誤的地方便是內(nèi)存管理,申請的內(nèi)存用完以后必須釋放,否則可使用的內(nèi)存資源越來越少,直至耗盡系統(tǒng)資源而造成死機。而Java系統(tǒng)中,你可以任意申請內(nèi)存,Java系統(tǒng)會在適當?shù)臅r候自動釋放無用的內(nèi)存資源。這個神奇的機制叫做“垃圾回收”,節(jié)約了許多調(diào)試錯誤的時間。
在Java中,要寫出低劣的代碼也不是一件容易的事情。一方面,垃圾回收機制堵住了內(nèi)存泄漏的可能性,另一方面就是異常捕捉機制,它強迫你做最壞的打算。編寫程序時,難免會遇到一些意外,比如文件無法打開、網(wǎng)絡(luò)讀取失敗等特殊情況。在C++等語言中是依靠返回值來判斷的,如果一句句地檢查返回值,那實在是太麻煩了。從而,程序員習慣性地忽略返回值的檢查,并安慰自己一切都會好起來的。這便埋下了隱患。在Java中,Java的方法可以拋異常,而你必須應(yīng)答異常,即使你不想進行任何操作。比如編寫打開文件的代碼,你不得不響應(yīng)異常以防意外發(fā)生,否則程序根本不能夠通過編譯。未雨綢繆,使得 Java系統(tǒng)更穩(wěn)健。
5.企業(yè)應(yīng)用的成熟平臺
這是Java技術(shù)目前最活躍的兩大領(lǐng)域之一。我們在前面Java技術(shù)介紹中已經(jīng)提到了不少,這里僅關(guān)注跟我們切身相關(guān)的優(yōu)勢。
Java技術(shù)的企業(yè)應(yīng)用旨在提升企業(yè)競爭力,所以Java技術(shù)受到了企業(yè)的欣賞,市場份額是同類技術(shù)中最大的。同時,Java開放標準,所以供應(yīng)商眾多。市面上有許多的應(yīng)用服務(wù)器、工具與構(gòu)件可以選擇,從高端的BEA WebLogic、IBM WebSphere等商業(yè)軟件,到Tomcat、JBoss等開源的免費工具,一應(yīng)俱全。作為Java技術(shù)的初學者,不需要任何花費就能夠進行Java企業(yè)應(yīng)用的自我培訓(xùn),以后若參與Java的商業(yè)項目開發(fā),便可以無縫地把軟件移植到高端的商業(yè)平臺上去。反觀。Net,想免費自學,不盜版是不可能的啦。
最后談?wù)凧ava和Web服務(wù)。Web服務(wù)是軟件互操作歷史上的里程碑,是技術(shù)發(fā)展的重要方向,是你絕不能不了解的技術(shù)。Sun公司是Java 語言的發(fā)明者,而作為一個開放的跨平臺的技術(shù)體系,Java在Web服務(wù)的開發(fā)方面起著非常重要的作用。Sun被接納為促進Web服務(wù)交互組織WS-I的董事成員后,作為活躍的參與者和業(yè)界的領(lǐng)導(dǎo)者,對Web服務(wù)互操作性的促進,有著相當重要的意義,也為Java技術(shù)的含金量加上了關(guān)鍵的砝碼。
6.無線應(yīng)用
這是Java技術(shù)目前最活躍的另一個領(lǐng)域,旨在提供更多、更方便的個性化服務(wù)的'Java手機應(yīng)用。未來幾年內(nèi),勢必將出現(xiàn)移動通訊運營商和移動設(shè)備應(yīng)用軟件的巨大商機和激烈競爭,并且該趨勢很可能與電子政務(wù)、電子商務(wù)等其他發(fā)展相互影響。Java在手機市場的專有性和Java本身的開放性和標準性,使得越來越多的企業(yè)加入了Java陣營。
中國也不例外。2003年James Gosling博士首次來到中國,其中重要的一項工作便是與中國聯(lián)通結(jié)盟。
Java之父——James Gosling博士
James Gosling博士以“Java技術(shù)之父”聞名于世。他是Java技術(shù)的創(chuàng)始人,作為Sun研究院院士,親手設(shè)計了Java語言,完成了Java技術(shù)的原始編譯器和虛擬機。在他的帶領(lǐng)下,Java現(xiàn)已成為互聯(lián)網(wǎng)的標準編程模式以及分布式企業(yè)級應(yīng)用的事實標準,其跨平臺的技術(shù)優(yōu)勢為網(wǎng)絡(luò)計算帶來了劃時代的變革。目前,Gosling博士積極致力于軟件開發(fā)工具的研究,以使軟件開發(fā)工具的功能更強大,更容易為開發(fā)人員所使用,確保應(yīng)用、服務(wù)開發(fā)的迅速完成。
實際上,手機游戲開發(fā)也是一項不錯的職業(yè)與機遇,成功的例子已經(jīng)不在少數(shù)哦。
7.開放的Java社團——Java Community Process.JCP
JCP是一個讓Java出名的功臣。JCP創(chuàng)造了一個開放型論壇,讓同好在此交換意見,探索、定義新的平臺,群策群力。Java歡迎競爭,因為只有這樣才能最大限度地提高領(lǐng)域內(nèi)的技術(shù),這點與對手微軟。Net技術(shù)大相徑庭。在Java的舞臺上有很多演員,任何人都可以參與到JCP的過程中去,幫助Sun決定Java的發(fā)展和未來,同時也挑戰(zhàn)自己的影響力。從而,你可以發(fā)現(xiàn)Java世界中新的名詞層出不窮,遠遠走在規(guī)范之前。而在微軟。Net技術(shù)的舞臺上,你只能看到一個演員,那就是微軟自己。 還有現(xiàn)在的Java技術(shù)交流論壇,J道等等……都是很不錯錯的開放社區(qū)。
8.開源組織或者非盈利機構(gòu)的支持
開源組織是無政府主義的夢想——沒有政體,沒有所屬權(quán),言論與行動自由,僅僅依靠渴望共享與交流的信仰及無私奉獻來維系。Java世界中,開源組織與非盈利機構(gòu)發(fā)揮到了極致,許多出色的工具都出自它們之手。比如JUnit、Cactus、Tomcat、Struts、JBoss、 Eclipse、ANT、Xerces、Hibernate、Axis、AspectJ等等,許多工具還會出現(xiàn)在我們的咖啡館中,扮演重要的角色。
Java世界中,便宜無好貨絕對不成立,這些工具擁有足以和商業(yè)軟件媲美的質(zhì)量,很多商業(yè)IDE還集成了這些工具。對Java程序員而言,生活不單單會變得輕松,更重要的,你能夠看到希望,有為大家貢獻自己力量的機會!
【Java語言的技術(shù)優(yōu)勢】相關(guān)文章:
Java語言簡介06-12
java語言的特性解析06-02
Java語言的產(chǎn)生及其特點06-02
Java語言中的流程控制11-02
Java語言的特點和實現(xiàn)機制06-02
JAVA語言研發(fā)WEB軟件知識11-12
2016年java語言的特點是什么05-14