計算機二級考試java常考知識點

來源:文萃谷 1.83W

社會競爭十分激烈,什麼能使我們在眾人面前脱穎而出呢?是知識,是學習。以下是本站小編整理的計算機二級考試java常考知識點,歡迎學習!

計算機二級考試java常考知識點

  考點一:不斷擴展計算平台

  1.2.5 java平台-不斷擴展的計算平台

java不僅是編程語言,還是一個開發平台,java技術給程序員提供了許多工具:編譯器、解釋器、文檔生成器和文件打包工具等等。同時java還是一個程序發佈平台,有兩種主要的"發佈環境",首先java運行時環境(java runtime environment,簡稱JRE)包含了完整的類文件包,其次許多主要的瀏覽器都提供了java解釋器和運行時環境。目前Sun公司把java平台劃分成J2EE、J2SE、J2ME三個平台,針對不同的市場目標和設備進行定位。J2EE是Java2 Enterprise Edition,主要目的是為企業計算提供一個應用服務器的運行和開發平台。J2EE本身是一個開放的標準,任何軟件廠商都可以推出自己的符合J2EE標準的產品,使用户可以有多種選擇。IBM、Oracle、BEA、HP等29家已經推出了自己的產品,其中尤以BEA公司的weglogic產品和IBM公司的websphare最為著名。J2EE將逐步發展成為可以與微軟的戰略相對抗的網絡計算平台。J2SE是Java2 Standard Edition,主要目的是為台式機和工作站提供一個開發和運行的平台。我們在學習java的過程中,主要是採用J2SE來進行開發。J2ME是Java2 Micro Edition,主要是面向消費電子產品,為消費電子產品提供一個java的運行平台,使得java程序能夠在手機、機頂盒、PDA等產品上運行。

  考點二:Java語言特點

  1.2.4 Java語言的特點

1. 簡單、面向對象和為人所熟悉

java的簡單首先體現在精簡的系統上,力圖用最小的系統實現足夠多的功能;對硬件的要求不高,在小型的計算機上便可以良好的運行。和所有的新一代的程序設計語言一樣,java也採用了面向對象技術並更加徹底,所有的java程序和applet程序均是對象,封裝性實現了模塊化和信息隱藏,繼承性實現了代碼的複用,用户可以建立自己的類庫。而且java採用的是相對簡單的面向對象技術,去掉了運算符重載、多繼承的複雜概念,而採用了單一繼承、類強制轉換、多線程、引用(非指針)等方式。無用內存自動回收機制也使得程序員不必費心管理內存,是程序設計更加簡單,同時大大減少了出錯的可能。java語言採用了C語言中的大部分語法,熟悉C語言的程序員會發現java語言在語法上與C語言極其相似。

2. 魯棒並且安全

java語言在編譯及運行程序時,都要進行嚴格的檢查。作為一種強制類型語言,java在編譯和連接時都進行大量的類型檢查,防止不匹配問題的`發生。如果引用一個非法類型、或執行一個非法類型操作,java將在解釋時指出該錯誤。在java程序中不能採用地址計算的方法通過指針訪問內存單元,大大減少了錯誤發生的可能性;而且java的數組並非用指針實現,這樣就可以在檢查中避免數組越界的發生。無用內存自動回收機制也增加了java的魯棒性。

作為網絡語言,java必須提供足夠的安全保障,並且要防止病毒的侵襲。java在運行應用程序時,嚴格檢查其訪問數據的權限,比如不允許網絡上的應用程序修改本地的數據。下載到用户計算機中的字節代碼在其被執行前要經過一個核實工具,一旦字節代碼被核實,便由java解釋器來執行,該解釋器通過阻止對內存的直接訪問來進一步提高java的安全性。同時java極高的魯棒性也增強了java的安全性。

3. 結構中立並且可以移植

網絡上充滿了各種不同類型的機器和操作系統,為使java程序能在網絡的任何地方運行,java編譯器編譯生成了與體系結構無關的字節碼結構文件格式。任何種類的計算機,只有在其處理器和操作系統上有java運行時環境,字節碼文件就可以在該計算機上運行。即使是在單一系統的計算機上,結構中立也有非常大的作用。隨着處理器結構的不斷髮展變化,程序員不得不編寫各種版本的程序以在不同的處理器上運行,這使得開發出能夠在所有平台上工作的軟件集合是不可能的。而使用java將使同一版本的應用程序可以運行在所有的平台上。

體系結構的中立也使得java系統具有可移植性。java運行時系統可以移植到不同的處理器和操作系統上,java的編譯器是由java語言實現的,解釋器是由java語言和標準C語言實現的,因此可以較為方便的進行移植工作。

4. 高性能

雖然java是解釋執行的,但它仍然具有非常高的性能,在一些特定的CPU上,java字節碼可以快速的轉換成為機器碼進行執行。而且java字節碼格式的設計就是針對機器碼的轉換,實際轉換時相當簡便,自動的寄存器分配與編譯器對字節碼的一些優化可使之生成高質量的代碼。隨着java虛擬機的改進和"即時編譯"(just in time)技術的出現使得java的執行速度有了更大的提高。

5. 解釋執行、多線程並且是動態的

為易於實現跨平台性,java設計成為解釋執行,字節碼本身包含了許多編譯時生成的信息,使連接過程更加簡單。而多線程使應用程序可以同時進行不同的操作,處理不同的事件。在多線程機制中,不同的線程處理不同的任務,互不干涉,不會由於某一任務處於等待狀態而影響了其它任務的執行,這樣就可以容易的實現網絡上的實時交互操作。java在執行過程中,可以動態的加載各種類庫,這一特點使之非常適合於網絡運行,同時也非常有利於軟件的開發,即使是更新類庫也不必重新編譯使用這一類庫的應用程序。

如果你瞭解C語言和C++語言,可以參考下列java與C/C++語言的比較,如果不瞭解C語言和C++語言,可以忽略本部分知識。

a. 全局變量

java程序不能定義程序的全局變量,而類中的公共、靜態變量就相當於這個類的全局變量。這樣就使全局變量封裝在類中,保證了安全性,而在C/C++語言中,由於不加封裝的全局變量往往會由於使用不當而造成系統的崩潰。

b. 條件轉移指令

C/C++語言中用goto語句實現無條件跳轉,而java語言沒有goto語言,通過例外處理語句try、catch、finally來取代之,提高了程序的可讀性,也增強了程序的魯棒性。

c. 指針

指針是C/C++語言中最靈活,但也是最容易出錯的數據類型。用指針進行內存操作往往造成不可預知的錯誤,而且,通過指針對內存地址進行顯示類型轉換後,可以類的私有成員,破壞了安全性。在java中,程序員不能進行任何指針操作,同時java中的數組是通過類來實現的,很好的解決了數組越界這一C/C++語言中不做檢查的缺點。

d. 內存管理

在C語言中,程序員使用庫函數malloc()和free()來分配和釋放內存,C++語言中則是運算符new和delete。再次釋放已經釋放的內存塊或者釋放未被分配的內存塊,會造成系統的崩潰,而忘記釋放不再使用的內存塊也會逐漸耗盡系統資源。在java中,所有的數據結構都是對象,通過運算符new分配內存並得到對象的使用權。無用內存回收機制保證了系統資源的完整,避免了內存管理不周而引起的系統崩潰。

e. 數據類型的一致性

在C/C++語言中,不同的平台上,編譯器對簡單的數據類型如int、float等分別分配不同的字節數。例如:int在IBM PC上為16位,在VAX-11上就為32位,導致了代碼數據的不可移植。在java中,對數據類型的位數分配總是固定的,而不管是在任何的計算機平台上。因此就保證了java數據的平台無關性和可移植性。

f. 類型轉換

在C/C++語言中,可以通過指針進行任意的類型轉換,不安全因素大大增加。而在java語言中系統要對對象的處理進行嚴格的相容性檢查,防止不安全的轉換。

g. 頭文件

在C/C++語言中使用頭文件聲明類的原型和全局變量及庫函數等,在大的系統中,維護這些頭文件是非常困難的。java不支持頭文件,類成員的類型和訪問權限都封裝在一個類中,運行時系統對訪問進行控制,防止非法的訪問。同時,java中用import語句與其它類進行通信,以便訪問其它類的對象。

h. 結構和聯合

C/C++語言中用結構和聯合來表示一定的數據結構,但是由於其成員均為公有的,安全性上存在問題。java不支持結構和聯合,通過類把數據結構及對該數據的操作都封裝在類裏面。

i. 預處理

C/C++語言中有宏定義,而用宏定義實現的代碼往往影響程序的可讀性,而java不支持宏定義。

熱門標籤