計算機二級考試java基礎知識

來源:文萃谷 2.17W

只有苦中尋樂,以苦求樂,才能在知識的海洋裡乘風破浪,奮鬥拼搏,才能享受到勝利者無限的幸福與歡樂。以下是本站小編整理的計算機二級考試java基礎知識,歡迎學習!

計算機二級考試java基礎知識

  【知識點一】無用記憶體自動回收機制

  1.2.2 無用記憶體自動回收機制

在程式的執行過程中,部分記憶體在使用過後就處於廢棄狀態,如果不及時進行無用記憶體的回收,就會導致記憶體洩漏,進而導致系統崩潰。在C++語言中是由程式設計師進行記憶體回收的,程式設計師需要在編寫程式的時候把不再使用的物件記憶體釋放掉;但是這種人為的管理記憶體釋放的方法卻往往由於程式設計師的疏忽而致使記憶體無法回收,同時也增加了程式設計師的工作量。而在java執行環境中,始終存在著一個系統級的執行緒,專門跟蹤記憶體的使用情況,定期檢測出不再使用的記憶體,並進行自動回收,避免了記憶體的洩露,也減輕了程式設計師的工作量。

  1.2.3 程式碼安全性檢查機制

位元組碼的執行需要經過三個步驟,首先由類裝載器(class loader)負責把類檔案(s檔案)載入到java虛擬機器中,在此過程需要檢驗該類檔案是否符合類檔案規範;其次位元組碼校驗器(bytecode verifier)檢查該類檔案的程式碼中是否存在著某些非法操作,例如applet程式中寫本機檔案系統的操作;如果位元組碼校驗器檢驗通過,由java直譯器負責把該類檔案解釋成為機器碼進行執行。java虛擬機器採用的是"沙箱"執行模式,即把java程式的程式碼和資料都限制在一定記憶體空間裡執行,不允許程式訪問該記憶體空間外的記憶體,如果是applet程式,還不允許訪問客戶端機器的檔案系統。

  【知識點二】java虛擬機器

  1.2 java的工作原理

  1.2.1 java虛擬機器

java虛擬機器是軟體模擬計算機,可以在任何處理器上(無論是在計算機中還是在其它電子裝置中)安全並且相容的執行儲存在s檔案中的位元組碼。java虛擬機器的`"機器碼"儲存在s檔案中,有時也可以稱之為位元組碼檔案。java程式的跨平臺主要是指位元組碼檔案可以在任何具有java虛擬機器的計算機或者電子裝置上執行,java虛擬機器中的java直譯器負責將位元組碼檔案解釋成為特定的機器碼進行執行。java源程式需要通過編譯器編譯成為s檔案(位元組碼檔案),java程式的編譯和執行過程如動畫所示。

但是,java虛擬機器的建立需要針對不同的軟硬體平臺做專門的實現,既要考慮處理器的型號,也要考慮作業系統的種類。如下圖所示,目前在SPARC結構、X86結構、MIPS和PPC等嵌入式處理晶片上、在UNIX、Linux、windows和部分實時作業系統上都有java虛擬機器的實現。

  【知識點三】java語言的產生

  1.1.2 java語言的產生

俗話說:"有心栽花花不成,無心插柳柳成蔭"。Sun公司絕沒想到本想用於消費電子產品開發的程式語言卻率先在網路中得到了廣泛應用,但是也可以說是"東方不亮西方亮",正是因為java語言在設計目標上的正確性使得java語言"是金字總會發光的"。C語言是面向過程的語言,也是使用率非常高的語言;而面向物件的思想引入到程式語言之後,C語言就被改造成為面向物件的C++語言,得到了廣泛的應用。但是C++語言必須相容C語言,因此C++語言是面向過程和麵向物件混合的語言。

java語言產生於C++語言之後,是完全的面向物件的程式語言,充分吸取了C++語言的優點,採用了程式設計師所熟悉的C和C++語言的許多語法,同時又去掉了C語言中指標、記憶體申請和釋放等影響程式健壯性的部分,可以說java語言是站在C++語言這個"巨人的肩膀上"前進的。

java語言的一個目標是跨平臺,因此採用瞭解釋執行而不是編譯執行的執行環境,在執行過程中根據所在的不同的硬體平臺把程式解釋為當前的機器碼,實現跨平臺執行。而動態下載程式程式碼的機制完全是為了適應網路計算的特點,程式可以根據需要把程式碼實時的從伺服器中下載過來執行,在此之前還沒有任何一種語言能夠支援這一點。

java是印尼的一個小島,盛產咖啡,而程式設計師往往喜歡喝咖啡,因此取名為java語言。看來,目前java這杯咖啡已經飄香在世界各地。

任何事物的產生既有必然的原因也有偶然的因素,java語言的出現也驗證了這一點。1991年,美國Sun Microsystems公司的某個研究小組為了能夠在消費電子產品上開發應用程式,積極尋找合適的程式語言。消費電子產品種類繁多,包括PDA、機頂盒、手機等等,即使是同一類消費電子產品所採用的處理晶片和作業系統也不相同,也存在著跨平臺的問題。當時最流行的程式語言是C和C++語言,Sun公司的研究人員就考慮是否可以採用C++語言來編寫消費電子產品的應用程式,但是研究表明,對於消費電子產品而言C++語言過於複雜和龐大,並不適用,安全性也並不令人滿意。於是,Bill Joy先生領導的研究小組就著手設計和開發出一種語言,稱之為Oak。該語言採用了許多C語言的語法,提高了安全性,並且是面向物件的語言,但是Oak語言在商業上並未獲得成功。時間轉到了1995年,網際網路在世界上蓬勃發展,Sun公司發現Oak語言所具有的跨平臺、面向物件、安全性高等特點非常符合網際網路的需要,於是改進了該語言的設計,要達到如下幾個目標:

◇ 建立一種面向物件的程式設計語言,而不是面向過程的語言;

◇ 提供一個解釋執行的程式執行環境,是程式程式碼獨立於平臺;

◇ 吸收C和C++的優點,使程式設計師容易掌握;

◇ 去掉C和C++中影響程式健壯性的部分,使程式更安全,例如指標、記憶體申請和釋放;

◇ 實現多執行緒,使得程式能夠同時執行多個任務;

◇ 提供動態下載程式程式碼的機制;

◇ 提供程式碼校驗機制以保證安全性;

最終,Sun公司給該語言取名為java語言,造就了一代成功的程式語言。

熱門標籤