當前位置:編程學習大全網 - 編程語言 - Java語言有什麽特點?

Java語言有什麽特點?

1.簡單的

Java最初是作為家用電器集成控制的語言而設計的,所以壹定要簡單明了。Java語言的簡單性主要體現在以下三個方面:

1)Java的風格和C++類似,所以C++程序員非常熟悉。從某種意義上說,Java語言是C和C++語言的變種,所以C++程序員可以快速掌握Java編程技術。

2) Java摒棄了C++中容易造成程序錯誤的地方,比如指針和內存管理。

3) Java提供了豐富的類庫。

2.面向對象

面向對象可以說是Java最重要的特點。Java語言的設計是完全面向對象的,它不支持C語言那樣的面向過程的編程技術。Java支持靜態和動態代碼繼承和重用。在面向對象特性方面,Java與Small Talk相似,但其他特性,尤其是適合分布式計算環境的特性,遠遠超過Small Talk。

3.分布的

Java包括壹個支持TCP/IP協議(如HTTP和FTP)的子庫。因此,Java應用程序可以借助URL打開和訪問網絡上的對象,這與訪問本地文件系統幾乎完全相同。為分布式環境,尤其是互聯網提供動態內容無疑是壹項非常宏大的任務,但是Java的語法特性讓我們很容易實現這個目標。

堅強起來

Java致力於檢查編譯和運行程序中的錯誤。類型檢查有助於檢測早期開發中出現的許多錯誤。Java自己操縱內存,降低了內存出錯的可能性。Java還實現了真數組,避免了覆蓋數據的可能性。這些特性大大縮短了Java應用程序的開發周期。Java提供空指針檢測數組邊界檢測異常退出字節代碼檢查。

5.結構中性

此外,為了建立Java作為壹個整體網絡,Java將其程序編譯成壹種結構中立的中間文件格式。任何運行Java系統的機器都可以執行這個中間代碼。目前Java運行系統有Solaris2.4(SPARC)、Win32系統(Windows95和WindowsNT)等。Java源程序被編譯成壹種高級的與機器無關的字節碼格式語言,該語言被設計成在虛擬機上運行,並由與機器相關的運行調試器來執行。

6.安全

Java的安全性可以從兩個方面來保證。壹方面,Java語言中刪除了指針、內存釋放等C++函數,避免了非法內存操作。另壹方面,用Java創建瀏覽器時,語言功能和瀏覽器本身提供的功能結合在壹起,更加安全。Java語言在妳的機器上執行之前必須經過多次測試。它通過代碼檢查,檢查代碼段的格式,檢測指針操作,對象操作是否過度,並試圖改變對象的類型。

7.輕便的

這句話壹直是Java程序員的精神指針,也是Java能受到程序員喜愛的原因之壹。最大的貢獻者是JVM的技術。大多數編譯器產生的目標代碼只能在壹個CPU上運行(比如Intel的x86系列),即使是那些可以支持多個CPU的編譯器也無法同時產生適合多個CPU的目標代碼。如果需要在三個CPU(比如x86、SPARC、MIPS)上運行同壹個程序,必須編譯三次。

但是JAVA編譯器不壹樣。JAVA編譯器生成的目標代碼(J-Code)是針對壹個不存在的CPU - JAVA虛擬機,而不是壹個實際的CPU。JAVA虛擬機可以掩蓋不同CPU之間的差異,讓J-Code運行在任何有JAVA虛擬機的機器上。

虛擬機的概念並不是AVA獨有的:加州大學幾年前就提出了帕斯卡虛擬機的概念;Unix服務器中廣泛使用的Perl腳本也生成獨立於機器的中間代碼來執行。但為互聯網應用設計的JAVA虛擬機的特別之處在於,它可以生成不受病毒威脅的安全目標代碼。正是因為互聯網對安全特性的特殊要求,JVM才能迅速被人們接受。現在的主流操作系統如OS/2、MacOS、Windows95/NT都已經或即將提供對J-Code的支持。

JAVA虛擬機作為壹個虛擬CPU,是獨立於源代碼的。我們不僅可以用JAVA語言生成J代碼,還可以用Ada95生成J代碼。事實上,已經有幾個源代碼的J-Code編譯器,包括Basic、Lisp等等。壹旦源代碼被轉換成J代碼,JAVA虛擬機就可以執行它,而不用區分它是由哪個源代碼生成的。這樣的結果就是CPU的可移植性。把源程序編譯成J代碼的好處是可以在各種機器上運行,缺點是沒有原生代碼快。

與架構無關的特性使得Java應用程序可以運行在任何配備了Java解釋器和運行環境的計算機系統上,這已經成為Java應用程序可移植性的良好基礎。但這還不夠。如果基礎數據類型的設計依賴於具體的實現,也會給程序的移植帶來很大的不便。例如,在Windows3.1中,整數是16位,在Windows95中是32位,在DECAlpha中是64位,在Intel486中是32位。通過定義平臺無關的基本數據類型及其操作,Java數據可以在任何硬件平臺上保持壹致。Java語言的基本數據類型及其表達式如下:byte8位二進制補碼short16位二進制補碼int32位二進制補碼long64位二進制補碼float32位IEEE754浮點數double32位IEEE754浮點數char16位bitUnicode字符在任何Java解釋器中,數據類型都是基於上面的。因為目前使用的幾乎所有CPU都可以支持上述數據類型,8 ~ 64位整數格式的補碼運算和單/雙精度浮點運算。Java編譯器本身是用Java語言編寫的。Java計算系統是根據POSIX可移植性的限制用ANSIc語言編寫的。在Java語言規範中沒有“與實現相關”的東西。

8.解釋的

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

9.高性能

如果解釋器不慢,Java可以在運行時直接把目標代碼翻譯成機器指令。Sun可以用直接解釋器在壹秒鐘內調用30萬個過程。翻譯目標代碼的速度和C/C++的性能沒有區別。

10.多線程操作

多線程支持在壹個程序中同時執行多個小任務。線程——有時稱為小進程——是從大進程中分離出來的獨立小進程。因為Java實現的多線程技術,比C和C++更強大。多線程帶來的更大好處是更好的交互性能和實時控制性能。當然,實時控制的性能也取決於系統本身(UNIX、Windows、Macintosh等)。),在開發難度和性能上都比單線程好。用過現在的瀏覽器的人都覺得,等壹張圖片調出來很煩。在Java中,妳可以用單線程來調整壹張圖片,不用等待就可以訪問HTML中的其他信息。

11.動態的

Java的動態特性是其面向對象設計方法的發展。它允許程序在運行過程中動態加載需要的類,這是用C++語言進行面向對象編程所無法做到的。在C++編程過程中,每次在壹個類中添加壹個實例變量或成員函數,所有引用該類的子類都必須重新編譯,否則程序就會崩潰。Java從以下幾個方面采取措施解決這個問題。Java編譯器不是將對實例變量和成員函數的引用編譯成數值引用,而是將符號引用信息保存在字節碼中後傳遞給解釋器,然後解釋器在動態鏈接類後將符號引用信息轉換成數值偏移量。這樣,在內存中生成的對象不是在編譯時確定的,而是在運行時由解釋器確定的。這樣,更新類中的變量和方法不會影響現有的代碼。說明在執行字節碼的時候,只在新名字出現的時候執行壹次查找和轉換符號信息的過程,然後就可以全速執行代碼了。在運行時確定引用的好處是,您可以使用更新的類,而不用擔心影響原始代碼。如果壹個程序連接到網絡中另壹個系統的類,該類的所有者也可以自由地更新該類,而不會使任何引用該類的程序崩潰。Java還簡化了升級或全新協議的使用。如果妳的系統在運行Java程序時遇到了不知道如何處理的程序,沒關系,Java可以自動下載妳需要的功能程序。與C和C++語言的異同Java提供了壹個強大語言的所有功能,但幾乎沒有歧義。C++安全性不好,但是C和C++還是被大家接受的,所以Java設計成C++的形式,方便大家學習。Java去掉了C++語言的很多功能,使得Java的語言功能非常精煉,增加了壹個非常有用的功能。Java去掉了C和C++的以下功能和特性:指針操作結構typedefs#define需要釋放內存全局變量的定義,非常容易造成錯誤。

12.統壹碼

Java使用Unicode作為它的標準字符,這使得Java程序可以在不同的語言平臺上編寫和執行。簡單來說,妳可以用中文來表達程序中的變量和類別名,當妳的程序移植到其他語言平臺時,它仍然可以正常執行。Java也是唯壹壹種自然使用Unicode的計算機語言。

  • 上一篇:C語言fflush(stdin)函數是什麽意思,在什麽情況下用它
  • 下一篇:求推薦壹款比較好用的全面的單機版設備維修記錄軟件,可以導出導入Excel表格
  • copyright 2024編程學習大全網