糯米文學吧

位置:首頁 > 計算機 > java語言

java入門基礎教程

java語言2.32W

讓生活的句號圈住的人,是無法前時半步的以下是小編為大家搜索整理了java入門基礎教程,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!

java入門基礎教程

  第一章Java語言的產生及其特點

  1.1Java產生的歷史與現狀

  1.1.1Java產生的歷史

Java來自於Sun公司的一個叫Green的項目,其原先的目的是為家用消費電子產品開發一個分佈式代碼系統,這樣我們可以把E-mail發給電冰箱、電視機等家用電器,對它們進行控制,和它們進行信息交流。開始,準備採用C++,但C++太複雜,安全性差,最後基於C++開發一種新的語言Oak(Java的前身),Oak是一種用於網絡的精巧而安全的語言,Sun公司曾依此投標一個交互式電視項目,但結果是被SGI打敗。可憐的Oak幾乎無家可歸,恰巧這時MarkArdreesen開發的Mosaic和Netscape啟發了Oak項目組成員,他們用Java編制了HotJava瀏覽器,得到了Sun公司首席執行官ScottMcNealy的支持,觸發了Java進軍Internet。Java的取名也有一個趣聞,有一天,幾位Java成員組的會員正在討論給這個新的語言取什麼名字,當時他們正在咖啡館喝着Java(爪哇)咖啡,有一個人靈機一動説就叫Java怎樣,得到了其他人的讚賞,於是,Java這個名字就這樣傳開了。

  1.1.2Java的現狀

Java是Sun公司推出的新的一代面向對象程序設計語言,特別適合於Internet應用程序開發,它的平台無關性直接威脅到Wintel的壟斷地位。一時間,“連Internet,用Java編程”,成為技術人員的一種時尚。雖然新聞界的報導有些言過其實,但Java作為軟件開發的一種革命性的技術,其地位已被確立,這表現在以下幾個方面:

1.計算機產業的許多大公司購買了Java的許可證,包括

IBM,Apple,DEC,Adobe,SiliconGraphics,HP,Oracel,Toshiba,以及最不情願的Microsoft。這一點説明,Java已得到了工業界的認可。

2.眾多的軟件開發商開始支持Java的軟件產品。例如:Borland公司正在開發的基於Java的快速應用程序開發環境Latte,預計產品會在1996年中期發佈。Borland公司的這一舉措,推動了Java進入PC機軟件市場。Sun公司自己的Java開發環境JavaWorkshop已經發布。數據庫廠商如:

Illustra,Sysbase,Versant,Oracle都在開發CGI接口,支持HTML和Java。今天是以網絡為中心的計算時代,不支持HTML和Java,應用程序的應用範圍只能限於同質的環境(相同的硬件平台)。

anet正在成為企業信息系統最佳的解決方案,而其中Java將發揮不可替代的作用。Intranet的目的是把Internet用於企業內部的信息系統,它的優點

表現在:便宜,易於使用和管理。用户不管使用何種類型的機器和操作系統,界面是統一的Intrnet瀏覽器,而數據庫、Web頁面、應用程序(用Java編的Applet)則存在WWW服務器上,無論是開發人員,還是管理人員,抑或是用户都可以受益於該解決方案。Java語言正在不斷髮展和完善,Sun公司是主要的發展推動者,較通用的編譯環境有JDK(JavaDevelopKit)與JWS(JavaWorkshop)。還有很多其他公司正在開發Java語言的編譯器與集成環境,預計不久Java語言的正確性與效率都將會提高,用户用Java編程和現在用C++編程一樣方便。

  1.2Java語言的特點

Java到底是一種什麼樣的語言呢?Java是一種簡單的面象對象的分佈式的解釋的健壯的安全的結構中立的可移植的性能很優異的多線程的動態的語言。

  1.2.1簡單

Java最初是為對家用電器進行集成控制而設計的一種語言,因此它必須簡單明瞭。Java語言的簡單性主要體現在以下三個方面:

  的風格類似於C++,因而C++程序員是非常熟悉的。從某種意義上講,Java語言是C及C++語言的一個變種,因此,C++程序員可以很快就掌握Java編程技術。

  摒棄了C++中容易引發程序錯誤的地方,如指針和內存管理。

  提供了豐富的類庫。

  1.2.2面向對象

面向對象可以説是Java最重要的特性。Java語言的設計完全是面向對象的,它不支持類似C語言那樣的面向過程的程序設計技術。Java支持靜態和動態風格的代碼繼承及重用。單從面向對象的特性來看,Java類似於SmallTalk,但其它特性、尤其是適用於分佈式計算環境的特性遠遠超越了SmallTalk。

  1.2.3分佈式

Java包括一個支持HTTP和FTP等基於TCP/IP協議的子庫。因此,Java應用程序可憑藉URL打開並訪問網絡上的對象,其訪問方式與訪問本地文件系統幾乎完全相同。為分佈環境尤其是Internet提供動態內容無疑是一項非常宏偉的任務,但Java的語法特性卻使我們很容易地實現這項目標。

  1.2.4健壯

Java致力於檢查程序在編譯和運行時的錯誤。類型檢查幫助檢查出許多開發早期出現的錯誤。Java自已操縱內存減少了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能。這種功能特徵大大縮短了開發Java應用程序的週期。Java提供:Null指針檢測數組邊界檢測異常出口字節代碼校驗

  1.2.5結構中立

另外,為了建立Java作為網絡的一個整體,Java將它的程序編譯成一種結構中立的中間文件格式。只要有Java運行系統的機器都能執行這種中間代碼。現在,Java運行系統有Solaris2.4(SPARC),Win32系統(Windows95和WindowsNT)等源程序被編譯成一種高層次的與機器無關的byte-code格式語言,這種語言被設計在虛擬機上運行,由機器相關的運行調試器實現執行。

  1.2.6安全

Java的安全性可從兩個方面得到保證。一方面,在Java語言裏,象指針和釋放內存等C++功能被刪除,避免了非法內存操作。另一方面,當Java用來創建瀏覽器時,語言功能和一?copy;瀏覽器本身提?copy;的功能結合起來,使它更安全。Java語言在你的機器上執行前,要經過很多次的測試。它經過代碼校驗,檢查代碼段的格式,檢測指針操作,對象操作是否過分以及試圖改變一個對象的類型。

  Byte-code校驗

如果byte-code通過代碼校驗,沒有返回錯誤,我們可知道:代碼沒有堆棧上溢出和下溢出所有操作代碼參數類型都是正確的沒有發生非法數據轉換,如將整數轉換成指針。訪問對象操作是合法的`

  類裝載

ClassLoader通過將本機類與網絡資源類的名稱分開,來保持安全性。因為調入類時總要經過檢查,這樣避免了特洛伊木馬現象的出現。從網絡上下載的類被調進一個與源相關的私有的名字域。當一個私有類訪問另一個類時,build-in(本機類)首先被檢查,然後檢查相關的類。這樣就避免了破壞本機類情況的出現。

  1.2.7可移植的

同體繫結構無關的特性使得Java應用程序可以在配備了Java解釋器和運行環境的任何計算機系統上運行,這成為Java應用軟件便於移植的良好基礎。但僅僅如此還不夠。如果基本數據類型設計依賴於具體實現,也將為程序的移植帶來很大不便。例如在Windows3.1中整數(Integer)為16bits,在Windows95中整數為32bits,在DECAlpha中整數為64bits,在Intel486中為32bits。通過定義獨立於平台的基本數據類型及其運算,Java數據得以在任何硬件平台上保持一

致。Java語言的基本數據類型及其表示方式如下:byte8-bit二進制補碼short16-bit二進制補碼int32-bit二進制補碼long64-bit二進制補碼

float32-bitIEEE754浮點數double32-bitIEEE754浮點數char16-bitUnicode字符

在任何Java解釋器中,數據類型都是依據以上標準具體實現的。因為幾乎目前使用的所有CPU都能支持以上數據類型、8~64位整數格式的補碼運算和單/雙精度浮點運算。Java編譯器本身就是用Java語言編寫的。Java運算系統的編制依據POSIX方便移植的限制,用ANSIC語言寫成。Java語言規範中也沒有任何"同具體實現相關"的內容。

  1.2.8解釋的

Java解釋器(運行系統)能直接運行目標代碼指令。鏈接程序通常比編譯程序所需資源少,所以程序員可以在創建源程序上花上更多的時間。

  1.2.9高性能

如果解釋器速度不慢,Java可以在運行時直接將目標代碼翻譯成機器指令。Sun用直接解釋器一秒鐘內可調用300,000個過程。翻譯目標代碼的速度與C/C++的性能沒什麼區別。

  1.2.10多線程

Java提?copy;的多線程功能使得在一個程序裏可同時執行多個小任務。線程--有時也稱小進程--是一個大進程裏分出來的小的獨立的進程。因為Java實現的多線程技術,所以比C和C++更鍵壯。多線程帶來的更大的好處是更好的交互性能和實時控制性能。當然實時控制性能還取決於系統本身

(UNIX,Windows,Macintosh等),在開發難易程度和性能上都比單線程要好。任何用過當前瀏覽器的人,都感覺為調一副圖片而等待是一件很煩惱的事情。在Java裏,你可用一個單線程來調一副圖片,而你可以訪問HTML裏的其它信息而不必等它。

  1.2.11動態

Java的動態特性是其面向對象設計方法的擴展。它允許程序動態地裝入運行過程中所需要的類,這是C++語言進行面向對象程序設計所無法實現的。在C++程序設計過程中,每當在類中增加一個實例變量或一種成員函數後,引用該類的所有子類都必須重新編譯,否則將導致程序崩潰。Java從如下幾方面採取措施來解決這個問題。Java編譯器不是將對實例變量和成員函數的引用編譯為數值引用,而是將符號引用信息在字節碼中保存下傳遞給解釋器,再由解釋器在完成動

態連接類後,將符號引用信息轉換為數值偏移量。這樣,一個在存儲器生成的對象不在編譯過程中決定,而是延遲到運行時由解釋器確定的。這樣,對類中的變量和方法進行更新時就不至於影響現存的代碼。解釋執行字節碼時,這種符號信息的查找和轉換過程僅在一個新的名字出現時才進行一次,隨後代碼便可以全速執行。在運行時確定引用的好處是可以使用已被更新的類,而不必擔心會影響原有的代碼。如果程序連接了網絡中另一系統中的某一類,該類的所有者也可以自由地對該類進行更新,而不會使任何引用該類的程序崩潰。Java還簡化了使用一個升級的或全新的協議的方法。如果你的系統運行Java程序時遇到了不知怎樣處理的程序,沒關係,Java能自動下載你所需要的功能程序。

  1.3與C和C++語言的異同

Java提供了一個功能強大語言的所有功能,但幾乎沒有一點含混特徵。C++安全性不好,但C和C++還是被大家所接受,所以Java設計成C++形式,讓大家很容易學習。Java去掉了C++語言的許多功能,讓Java的語言功能很精煉,並增加了一些很有用的功能,Java去掉了以下幾個C和C++功能和特徵:指針運算結構typedefs#define需要釋放內存全局變量的定義這種功能都是很容易引起錯誤的地方。

  1.4Java的應用簡介

  1.4.1Web瀏覽

Web瀏覽是現在國際網甚至局域網的主要使用方式。文檔能很容易地顯示文本和各種圖片,他還能提供超文本鏈接。這些瀏覽器調用HTML語言寫的文檔,HTML/WWW瀏覽器技術只限於文本和圖象。如果你想播放一種聲音或運行一個演示程序,你不得不下載那個文件並用你本機上的能理解和運行那個文件格式的程序來播放它。Java程序和它的瀏覽器HotJava,提供了可讓你的瀏覽器運行程序的方法。你能從你的瀏覽器裏直接播放聲音。你還能播放頁面裏的動畫。Java還能告訴你的瀏覽器怎樣處理新的類型文件。當我們能在2400baud線上傳輸視頻圖象時,HotJava將能顯示這些視頻。

  1.4.2網絡應用系統

Java是一種與平台無關的語言,因此用Java開發的網絡應用系統可以在各種平台上運行,大大增加了開發效率,減少重複勞動。而且,Java集成的網絡功能充分有利於開發網絡應用系統。

小結:的產生與流行是當今internet發展的客觀要求是一門各方面性能都很好的編程語言,它的基本特點是簡單、面象對象、分佈式、解釋的、健壯的、安全的、結構中立的、可移植的、性能很優異的、多線程的、動態的。?reg;分適合在internet環境上開發應用系統。可以製作大部分網絡應用程序系統,而且與當今流行的WWW瀏覽器結合得很好。

標籤:JAVA 基礎教程