宋超
java它最初被命名為Oak,目標(biāo)設(shè)定在家用電器等小型系統(tǒng)的編程語(yǔ)言,來(lái)解決諸如電視機(jī)、電話、鬧鐘、烤面包機(jī)等家用電器的控制和通訊問(wèn)題。由于這些智能化家電的市場(chǎng)需求沒(méi)有預(yù)期的高,Sun放棄了該項(xiàng)計(jì)劃。就在Oak幾近 失敗之時(shí),隨著互聯(lián)網(wǎng)的發(fā)展,Sun看到了Oak在計(jì)算機(jī)網(wǎng)絡(luò)上的廣闊應(yīng)用前景,于是改造了Oak,以“Java”的名稱(chēng)正式發(fā)布。
Java 編程語(yǔ)言的風(fēng)格十分接近C、C++語(yǔ)言。Java是一個(gè)純的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了 C++ 語(yǔ)言面向?qū)ο蠹夹g(shù)的核心,Java舍棄了C ++語(yǔ)言中容易引起錯(cuò)誤的指針、運(yùn)算符重載(operator overloading)、多重繼承等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。
1.平臺(tái)無(wú)關(guān)性
平臺(tái)無(wú)關(guān)性是指Java能運(yùn)行于不同的平臺(tái)。Java引進(jìn)虛擬機(jī) 原理,并運(yùn)行于虛擬機(jī),實(shí)現(xiàn)不同平臺(tái)的Java接口之間。使用Java編寫(xiě)的程序能在世界范圍內(nèi)共享。Java的數(shù)據(jù)類(lèi)型與 機(jī)器無(wú)關(guān),Java虛擬機(jī)(Java Virtual Machine)是建立在硬件和操作系統(tǒng)之上,實(shí)現(xiàn)Java二進(jìn)制代碼的解釋執(zhí)行功能, 提供于不同平臺(tái)的接口的。
2.安全性
Java的編程類(lèi)似C++,學(xué)習(xí)過(guò)C++的讀者將很快掌握J(rèn)ava的精髓。Java舍棄了C++的指針對(duì)存儲(chǔ)器地址的直接操作,程序運(yùn)行時(shí),內(nèi)存由操作系統(tǒng)分配,這樣可以避免病毒通過(guò)指針侵入系統(tǒng)。Java對(duì)程序提供了安全管理器,防止程序的非法訪問(wèn)。
3.面向?qū)ο?/p>
Java吸取了C++面向?qū)ο蟮母拍睿瑢?shù)據(jù)封裝于 類(lèi)中,利用類(lèi)的優(yōu)點(diǎn),實(shí)現(xiàn)了程序的簡(jiǎn)潔性和便于維護(hù)性。類(lèi)的封裝性、繼承性等有關(guān)對(duì)象的特性,使程序代碼只需一次編譯,然后通過(guò)上述特性反復(fù)利用。程序員 只需把主要精力用在類(lèi)和接口的設(shè)計(jì)和應(yīng)用上。Java提供了眾多的一般對(duì)象的類(lèi),通過(guò)繼承即可使用父類(lèi)的方法。在Java中,類(lèi)的繼承關(guān)系是單一的非多重 的,一個(gè)子類(lèi)只有一個(gè)父類(lèi),子類(lèi)的父類(lèi)又有一個(gè)父類(lèi)。Java提供的Object類(lèi)及其子類(lèi)的繼承關(guān)系如同一棵倒立的樹(shù)形,根類(lèi)為Object類(lèi),Object類(lèi)功能強(qiáng)大,經(jīng)常會(huì)使用到它及其它派生的子類(lèi)。
4.分布式
Java建立在擴(kuò)展TCP/IP網(wǎng)絡(luò)平臺(tái)上。庫(kù)函數(shù)提供了用HTTP和FTP協(xié)議傳送和接受信息的方法。這使得程序員使用網(wǎng)絡(luò)上的文件和使用本機(jī)文件一樣容易。
5.健壯性
Java致力于檢查程序在編譯和運(yùn)行時(shí)的錯(cuò)誤。類(lèi)型檢查幫助檢查出許多開(kāi)發(fā)早期出現(xiàn)的錯(cuò)誤。Java自己操縱內(nèi)存減少了內(nèi)存出錯(cuò)的可能性。Java還實(shí)現(xiàn)了真數(shù)組,避免了覆蓋數(shù)據(jù)的可能,這些功能特征大大提高了開(kāi)發(fā)Java應(yīng)用程序的周期。并且Java還提供了Null指針檢測(cè)、數(shù)組邊界檢測(cè)、異常出口、Byte code校驗(yàn)等功能。
6.解釋型
我們知道C,C++等語(yǔ)言,都是針對(duì)CPU芯片進(jìn)行編譯,生成機(jī)器代碼,該代碼的運(yùn)行就和特定的CPU有關(guān)。 Java不像C或C++,它不針對(duì)CPU芯片進(jìn)行編譯,而是把程序編譯成稱(chēng)為自字節(jié)碼的一種“中間代碼”。字節(jié)碼是很接近機(jī)器碼的文件,可以在提供了 java虛擬機(jī)(JVM)的任何系統(tǒng)上被解釋執(zhí)行。
7.動(dòng)態(tài)
java程序的基本組成單元就是類(lèi),有些類(lèi)是自己編寫(xiě)的,有些是從類(lèi)庫(kù)中引入的,而類(lèi)又是運(yùn)行時(shí)動(dòng)態(tài)裝載的,這就使得Java可以在分部環(huán)境中動(dòng)態(tài)的維護(hù)程序及分類(lèi),而不像C++那樣,沒(méi)檔期類(lèi)庫(kù)升級(jí)以后,如果想讓程序具有新類(lèi)庫(kù)提供的功能,就需要修改程序,重新編譯。
由于java的廣泛優(yōu)點(diǎn),java的未來(lái)前景非常光明,比如,在中國(guó)的市場(chǎng),java在面向大眾服務(wù)方面,企業(yè)應(yīng)用以及電信金融等業(yè)務(wù)方面發(fā)揮著舉足輕重的作用。
Java在Web 移動(dòng)設(shè)備級(jí)云極端及方面前景廣闊,隨著云極端以及移動(dòng)領(lǐng)域的擴(kuò)張,更多的企業(yè)在考慮將其應(yīng)用部署在java平臺(tái)上。
全球有25億Java器件運(yùn)行著Java,450多萬(wàn)Java開(kāi)發(fā)者活躍在地球的每個(gè)角落,數(shù)以千萬(wàn)計(jì)的Web用戶每次上網(wǎng)都親歷Java的威力。今 天,Java運(yùn)行在7.08億手機(jī)、10億智能卡和7億PC機(jī)上,并為28款可兼容的應(yīng)用服務(wù)器提供了功能強(qiáng)大的平臺(tái)。這么多應(yīng)用,徹底改變了用戶的生。 越來(lái)越多的企業(yè),因?yàn)槭褂昧薐ava而提高了生產(chǎn)效率。在中國(guó),越來(lái)越多的用戶,因?yàn)镴ava而降低了成本,享受了生活。
近幾年來(lái),網(wǎng)站建設(shè)業(yè)務(wù)一直呈快速上升勢(shì)頭,行業(yè)市場(chǎng)越來(lái)越大。就國(guó)內(nèi)情況而言,沿海發(fā)達(dá)省市比中西部省市市場(chǎng)需求要大,業(yè)務(wù)普及工作也很到位,許多行 業(yè)形成了競(jìng)相建設(shè)企業(yè)網(wǎng)站,開(kāi)展網(wǎng)絡(luò)營(yíng)銷(xiāo)的局面。新技術(shù)的應(yīng)用將促使企業(yè)網(wǎng)站建設(shè)更具魅力。Java編程語(yǔ)言,.net技術(shù)和服務(wù)器CDN技術(shù)也將使網(wǎng)站 結(jié)構(gòu)更緊密,訪問(wèn)更流暢,更能適應(yīng)新的要求。但是以目前的市場(chǎng)分析Java做網(wǎng)站成本太高,對(duì)硬件要求比較高,中小企業(yè)會(huì)放棄,但是像大企業(yè)還是比較喜愛(ài) Java技術(shù)。