一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看

java語(yǔ)言

Java語(yǔ)言基本特點(diǎn)

時(shí)間:2025-01-27 12:34:15 java語(yǔ)言 我要投稿

Java語(yǔ)言基本特點(diǎn)

  Java是一門(mén)面向對象編程語(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念。下面是小編為大家整理的Java語(yǔ)言基本特點(diǎn),歡迎參考~

  Java語(yǔ)言的特點(diǎn)

  1. 簡(jiǎn)單、面向對象和為人所熟悉

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

  2. 魯棒并且安全

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

  作為網(wǎng)絡(luò )語(yǔ)言,java必須提供足夠的安全保障,并且要防止病毒的侵襲。java在運行應用程序時(shí),嚴格檢查其訪(fǎng)問(wèn)數據的權限,比如不允許網(wǎng)絡(luò )上的應用程序修改本地的數據。下載到用戶(hù)計算機中的字節代碼在其被執行前要經(jīng)過(guò)一個(gè)核實(shí)工具,一旦字節代碼被核實(shí),便由java解釋器來(lái)執行,該解釋器通過(guò)阻止對內存的直接訪(fǎng)問(wèn)來(lái)進(jìn)一步提高java的安全性。同時(shí)java極高的魯棒性也增強了java的安全性。

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

  網(wǎng)絡(luò )上充滿(mǎn)了各種不同類(lèi)型的機器和操作系統,為使java程序能在網(wǎng)絡(luò )的任何地方運行,java編譯器編譯生成了與體系結構無(wú)關(guān)的字節碼結構文件格式。任何種類(lèi)的計算機,只有在其處理器和操作系統上有java運行時(shí)環(huán)境,字節碼文件就可以在該計算機上運行。即使是在單一系統的計算機上,結構中立也有非常大的作用。隨著(zhù)處理器結構的不斷發(fā)展變化,程序員不得不編寫(xiě)各種版本的程序以在不同的處理器上運行,這使得開(kāi)發(fā)出能夠在所有平臺上工作的軟件集合是不可能的。而使用java將使同一版本的應用程序可以運行在所有的平臺上。

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

  4. 高性能

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

  5. 解釋執行、多線(xiàn)程并且是動(dòng)態(tài)的

  為易于實(shí)現跨平臺性,java設計成為解釋執行,字節碼本身包含了許多編譯時(shí)生成的信息,使連接過(guò)程更加簡(jiǎn)單。而多線(xiàn)程使應用程序可以同時(shí)進(jìn)行不同的操作,處理不同的事件。在多線(xiàn)程機制中,不同的線(xiàn)程處理不同的任務(wù),互不干涉,不會(huì )由于某一任務(wù)處于等待狀態(tài)而影響了其它任務(wù)的執行,這樣就可以容易的實(shí)現網(wǎng)絡(luò )上的實(shí)時(shí)交互操作。java在執行過(guò)程中,可以動(dòng)態(tài)的加載各種類(lèi)庫,這一特點(diǎn)使之非常適合于網(wǎng)絡(luò )運行,同時(shí)也非常有利于軟件的開(kāi)發(fā),即使是更新類(lèi)庫也不必重新編譯使用這一類(lèi)庫的應用程序。

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

  a. 全局變量

  java程序不能定義程序的全局變量,而類(lèi)中的公共、靜態(tài)變量就相當于這個(gè)類(lèi)的全局變量。這樣就使全局變量封裝在類(lèi)中,保證了安全性,而在C/C++語(yǔ)言中,由于不加封裝的全局變量往往會(huì )由于使用不當而造成系統的崩潰。

  b. 條件轉移指令

  C/C++語(yǔ)言中用goto語(yǔ)句實(shí)現無(wú)條件跳轉,而java語(yǔ)言沒(méi)有g(shù)oto語(yǔ)言,通過(guò)例外處理語(yǔ)句try、catch、finally來(lái)取代之,提高了程序的可讀性,也增強了程序的魯棒性。

  c. 指針

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

  d. 內存管理

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

  e. 數據類(lèi)型的一致性

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

  f. 類(lèi)型轉換

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

  g. 頭文件

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

  h. 結構和聯(lián)合

  C/C++語(yǔ)言中用結構和聯(lián)合來(lái)表示一定的數據結構,但是由于其成員均為公有的,安全性上存在問(wèn)題。java不支持結構和聯(lián)合,通過(guò)類(lèi)把數據結構及對該數據的操作都封裝在類(lèi)里面。

  i. 預處理

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

【Java語(yǔ)言基本特點(diǎn)】相關(guān)文章:

Java語(yǔ)言的基本特點(diǎn)07-30

Java語(yǔ)言的特點(diǎn)07-16

Java語(yǔ)言的特點(diǎn)分析05-27

Java語(yǔ)言特點(diǎn)07-10

Java語(yǔ)言的編程特點(diǎn)03-18

java語(yǔ)言概述(基本)05-15

Java語(yǔ)言基本概述01-23

Java語(yǔ)言的基本概述07-09

Java語(yǔ)言基本語(yǔ)法05-12

一级日韩免费大片,亚洲一区二区三区高清,性欧美乱妇高清come,久久婷婷国产麻豆91天堂,亚洲av无码a片在线观看