由Sun公同推出的Java語言是當(dāng)今世界上最為熱門的網(wǎng)絡(luò)編程語言之一。Java 的產(chǎn)生可以追溯到1991年。當(dāng)時(shí)Sun公司的一個(gè)專家小組企圖用一種全新的語言來取代C++.并最終用它來控制所有的家電,這種語言就是Java.有趣的是,Java產(chǎn)生以后,并沒有在控制家電行業(yè)流行開來。反而在網(wǎng)絡(luò)信息處理系統(tǒng)開發(fā)過程中風(fēng)行一時(shí),成為目前最為流行的軟件開發(fā)工具。
Java是一一種具有簡(jiǎn)單、面向?qū)ο、分布式、解釋型、健壯、安全、體系結(jié)構(gòu)中立、可移植、高性能、多線程和動(dòng)態(tài)等各種特性的語言。
Java是一種從C++繼承來的完整的面向?qū)ο蟪绦蛟O(shè)計(jì)語言。它具有C++的所有優(yōu)點(diǎn),但卻取消了一些不可靠的功能,如指針和不安全性。Java 是通過庫(kù)來擴(kuò)展自己的。例如它有一個(gè)稱為AWT的用戶界面對(duì)象的庫(kù)、一個(gè)VO庫(kù)、一個(gè)網(wǎng)絡(luò)庫(kù)等等?梢允褂肑ava來建立裝到Web上并在瀏覽器上執(zhí)行的Applet 以及單獨(dú)的應(yīng)用程序。我們將重點(diǎn)討論調(diào)覽器上用的Applet,但是由于Java具有很強(qiáng)的能力,你可以把Java用做基本的開發(fā)環(huán)境。
Java實(shí)際上不僅僅是一門編程語言,它還包含一個(gè)客戶/服務(wù)器模式下的開發(fā)和執(zhí)行環(huán)境。如果你已經(jīng)掌握了C++和面向?qū)ο蟪绦蚋拍睿瑒t對(duì)學(xué)習(xí)Java是很有幫助的。
Java的主要特點(diǎn):
Java是一種純面向?qū)ο蟮恼Z言。相對(duì)而言C++,Dephi 等實(shí)際上是混合型語言,是過程語均為對(duì)象類。甚至于數(shù)學(xué)運(yùn)算也是面向?qū)ο蟮。為了保證輸程的簡(jiǎn)易性,也可以按非對(duì)象處理,言加上面向?qū)ο蟮臄U(kuò)展。面Java則不然。任何方面都是基于消息或基于對(duì)象的。所有數(shù)據(jù)類型這也是推薦使用的方法。關(guān)于面向?qū)ο笤韰⒄掌渌墨I(xiàn)。
Java語言之所以流行是因?yàn)樗?jiǎn)單,易學(xué)、容易操作和使用,而且功能強(qiáng)大。概括起來,Java的主要特點(diǎn)如下:
(1)解釋性、可移植性和與應(yīng)用平臺(tái)的無關(guān)性
解釋性是指Java是一種解釋性的程序設(shè)計(jì)語言,從而避免了傳統(tǒng)編譯型語言在系統(tǒng)開發(fā)時(shí)所遇到的各種問題。可移植性和與應(yīng)用平臺(tái)的無關(guān)性是指Java在運(yùn)行上不依賴于某個(gè)固定的軟件平臺(tái),因而很容易移植。程序的移植性是指程序不經(jīng)過修改而在不同硬件或軟件平臺(tái)上運(yùn)行的特性?梢浦残园▋煞N層次:源代碼級(jí)可移植性和二進(jìn)制級(jí)可移植性。C和C++只具有源代碼級(jí)可移植性,表明C或C++源程序要能夠在不同平臺(tái)上運(yùn)行,必須重新編譯。而Java是真正的二進(jìn)制可移植的。Java編譯器所生成的可執(zhí)行代碼并不基于任何具體硬件平臺(tái),而是基于Java虛擬機(jī)( Java Virtual Machine,JVM)。通過預(yù)先把Java源程序編譯成字節(jié)碼,Java避免了傳統(tǒng)的解釋語言的性能瓶頌,并確保了其可移植性。
(2)簡(jiǎn)單性
在支持強(qiáng)大功能的同時(shí)保持系統(tǒng)開發(fā)和使用上的簡(jiǎn)單性是Java開發(fā)小組一開始就遵循的宗旨。由于Java起源于信息家電的嵌入式系統(tǒng),所以具備了簡(jiǎn)單明了的特性。Java開發(fā)小組把它戲稱為:KISS( Keep It Simple, Stupid)策略。正因?yàn)镴ava語言的這樣一個(gè)特點(diǎn),使得它既能夠支持面向?qū)ο蟮拈_發(fā)方法,又能使開發(fā)過程簡(jiǎn)單易行。從而Java開始在眾多的面向?qū)ο箝_發(fā)語言中脫穎而出,成為當(dāng)今軟件開發(fā)工具中的新寵。
(3)高性能
Java是多線程的語言,提高了程序執(zhí)行的并發(fā)程度。而C++采用的是單線程的體系結(jié)構(gòu),均未提供對(duì)線程的語言級(jí)支持。
(4)面向?qū)ο笮?/span>
Java具有面向?qū)ο蟮幕咎匦院蛢?yōu)點(diǎn),但Java不是真正意義上的面向?qū)ο蟮某绦蛘Z言。所以,Java在操作上遠(yuǎn)比真正意義上的面向?qū)ο蟮钠渌绦蛘Z言要簡(jiǎn)單。
(5)動(dòng)態(tài)性、分布性和安全性
Java具有把分布在網(wǎng)絡(luò)上的對(duì)象當(dāng)做本地對(duì)象來處理的能力,整個(gè)系統(tǒng)的分布能力極好。hava的網(wǎng)絡(luò)處理功能是靠Java良好的系統(tǒng)安全性能來保障的。沒有安全性能的保障、再好的系統(tǒng)商務(wù)處理系統(tǒng)也不敢使用。Java與C++一樣大量使用類庫(kù),而C+面臨的一個(gè)問題是一旦Java兩種都支持。類庫(kù)升級(jí),應(yīng)用程序必頦重新編譯。網(wǎng)站制作Java采用后聯(lián)編技術(shù),關(guān)是在運(yùn)行時(shí)動(dòng)態(tài)裝載的。自動(dòng)維護(hù)其一致性,分布包括數(shù)據(jù)分布和操作分布。