91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java程序設計語言的優勢及特點

發布時間:2020-09-08 15:04:33 來源:腳本之家 閱讀:160 作者:angryTom 欄目:編程語言

java語言是一種面向對象的程序設計語言嗎

java語言是面向對象的程序設計語言

支持部分或絕大部分面向對象特性(類和實例、封裝性、繼承、多態)的語言即可稱為基于對象的或面向對象的語言。Java跟C#是目前最流行的兩門面向對象語言。

面向對象語言可以歸類為:

1、基于對象的程序設計語言;

2、面向對象的程序設計語言。

面向對象編程具有以下優點:

1、易維護

采用面向對象思想設計的結構,可讀性高,由于繼承的存在,即使改變需求,那么維護也只是在局部模塊,所以維護起來是非常方便和較低成本的。

2、易擴展

通過繼承,我們可以大幅減少多余的代碼,并擴展現有代碼的用途;

我們可以在標準的模塊上(這里所謂的”標準”指程序員之間彼此達成的協議)構建我們的程序,而不必一切從頭開始。這可以減少軟件開發時間并提高生產效率;

3、模塊化

封裝可以定義對象的屬性和方法的訪問級別,通過不同的訪問修飾符對外暴露安全的接口,防止內部數據在不安全的情況下被修改。這樣可以使程序具備更高的模塊化程度,方便后期的維護和修改。

同時,面向對象語言允許一個對象的多個實例同時存在,而且彼此之間不會相互干擾;

4、建模

雖然面向對象語言中的對象與現實生活中的對象并不是同個概念,但很多時候,往往可以使用現實生活中對象的概念抽象后稍作修改來進行建模,這大大方便了建模的過程。(但直接使用現實中的對象來建模有時會適得其反)。

內容擴充:

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

4.健壯

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

5.結構中立

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

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虛擬機(JAVA Virtual Machine),而不是某一實際的CPU。JAVA虛擬機能掩蓋不同CPU之間的差別,使J-Code能運行于任何具有JAVA虛擬機的機器上。

虛擬機的概念并不AVA 所 特 有 的:加州大學幾年前就提出了PASCAL虛擬機的概念;廣泛用于Unix服務器的Perl腳本也是產生與機器無關的中間代碼用于執行。但針對Internet應用而設計的JAVA虛擬機的特別之處在于它能產生安全的不受病毒威脅的目標代碼。正是由于Internet對安全特性的特別要求才使得JVM能夠迅速被人們接受。 當今主 流的操作系統如OS/2、MacOS、Windows95/NT都已經或很快提供對J-Code的支持。

作為一種虛擬的CPU,JAVA 虛擬機對于源代碼(Source Code) 來說是獨立的。我們不僅可以用JAVA語言來生成J-Code,也可以用Ada95來生成。事實上,已經有了針對若干種源代碼的J-Code 編譯器,包括Basic、Lisp 和Forth。源代碼一經轉換成J-Code以后,JAVA虛擬機就能夠執行而不區分它是由哪種源代碼生成的。這樣做的結果就是CPU可移植性。 將源程序編譯為J-Code的好處在于可運行于各種機器上,而缺點是它不如本機代碼運行的速度快。

同體系結構無關的特性使得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語言規范中也沒有任何"同具體實現相關"的內容。

8.解釋的

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

9.高性能

如果解釋器速度不慢,Java可以在運行時直接將目標代碼翻譯成機器指令。Sun用直接解釋器一秒鐘內可調用300,000個過程。翻譯目標代碼的速度與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. Unicode

Java使用Unicode作為它的標準字符,這項特性使得Java的程序能在不同語言的平臺上都能撰寫和執行。簡單的說,你可以把程序中的變量、類別名稱使用中文來表示<注>,當你的程序移植到其它語言平臺時,還是可以正常的執行。Java也是目前所有計算機語言當中,唯一天生使用Unicode的語言。以上就是java語言是一種面向對象的程序設計語言嗎的詳細內容

以上就是億速云結合多篇整理的相關內容,感謝大家的學習和支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

巩义市| 崇义县| 克什克腾旗| 台中市| 农安县| 镇原县| 敦化市| 漯河市| 安多县| 鄂托克旗| 彭州市| 黄大仙区| 安义县| 饶平县| 稻城县| 焉耆| 桦川县| 莱阳市| 莱芜市| 丹棱县| 垫江县| 自贡市| 龙州县| 龙门县| 公主岭市| 泰来县| 前郭尔| 临夏市| 彭泽县| 台南县| 蒙山县| 德惠市| 丹棱县| 丽水市| 南郑县| 胶州市| 淳化县| 松原市| 茌平县| 古蔺县| 浪卡子县|