發(fā)布時間:2022-02-09 13:58:06來源:轉(zhuǎn)載
Java開發(fā)語言主要有什么特點(diǎn)?Java語言是適用于分布式計算環(huán)境的面向?qū)ο缶幊陶Z言,它雖類似C和C++,但比C++簡單,忽略了許多為提高計算效率,初學(xué)者較難掌握的程序語言特性。
Java語言主要有以下特點(diǎn):
1.強(qiáng)類型
Java語言是一種強(qiáng)類型語言,強(qiáng)類型能約束程序員必須遵守更多的編程規(guī)定,也能讓編譯器檢測出程序中盡可能多的錯誤。
2.編譯和解釋
Java語言是一種編程語言,用Java語言編寫的源程序在計算機(jī)上運(yùn)行需經(jīng)過編譯和解釋執(zhí)行兩個嚴(yán)格區(qū)分的階段。Java語言的編譯程序先將Java源程序翻譯成機(jī)器無關(guān)的字節(jié)碼(bytecode),不是通常的編譯程序?qū)⒃闯绦蚍g成計算機(jī)的機(jī)器代碼。運(yùn)行時,Java的運(yùn)行系統(tǒng)和鏈接需要執(zhí)行的類,并作必要的優(yōu)化后,解釋執(zhí)行字節(jié)碼程序。
3.自動無用內(nèi)存回收功能
Java語言具有自動無用內(nèi)存回收功能,程序可以按需使用內(nèi)存,但不需要對無用內(nèi)存顯式地撤銷分配。系統(tǒng)有一個垃圾收集器(garbage collector),自動收集程序不再使用的內(nèi)存。這樣,能避免顯式的撤銷分配所引起的安全問題。Java語言不再含有任何不安全的語言成分。例如,沒有指針,數(shù)組元素都要檢查下標(biāo)是否越界。
4.面向?qū)ο?/strong>
面向?qū)ο笫浅绦騿T編寫大型程序、有效控制程序復(fù)雜性的重要手段。Java語言在面向?qū)ο蠓矫?,比C++更“純”,它的所有數(shù)據(jù)類型,包括布爾類型、整形、字符型等,都有相應(yīng)的類,程序可完全基于對象編寫。
面向?qū)ο笳Z言主要有封裝性、繼承性和多態(tài)性三個特點(diǎn)。封裝就是將實現(xiàn)細(xì)節(jié)隱藏起來,只給出如何使用的信息。數(shù)據(jù)及數(shù)據(jù)上的操作用類封裝,對象是類的實例,外界使用對象中的數(shù)據(jù)及可用的操作受到一定的限制。繼承體現(xiàn)眾多的一種層次對象的特性,下一層的類可從上一層的類繼承定義,從上一層類派生的類的對象能繼承上一層對象的特性,同時可以改變和擴(kuò)充一些特性,以適應(yīng)其自身的特點(diǎn)。多態(tài)性的意義主要體現(xiàn)在邏輯上相同的不同層次上的操作,使用相同的操作名,根據(jù)具體對象,能自動選擇對應(yīng)的操作。Java語言很實用地實現(xiàn)了這三種特性。
5.與平臺無關(guān)
與平臺無關(guān)是對程序可移植性較直接較有效的支持。Java語言的設(shè)計者在設(shè)計時重點(diǎn)考慮了Java程序的可移植性,采用多種機(jī)制來增加可移植性,其中較主要的是定義了一種虛擬機(jī)(virtual machine),以及虛擬機(jī)使用的java字節(jié)碼。在任何平臺上,Java源程序被Java編譯器編譯成虛擬機(jī)能夠識別的字節(jié)碼。這樣,只要有Java虛擬機(jī)的平臺,就能解釋執(zhí)行java字節(jié)碼程序,從而實現(xiàn)Java與平臺無關(guān)。另外,Java語言還采用基于國際標(biāo)準(zhǔn)的數(shù)據(jù)類
型,在任何平臺上,同上種數(shù)據(jù)類型是一致的。例如,用int標(biāo)識32位二進(jìn)制位(bit)整型數(shù)據(jù),那么無論在哪一臺計算機(jī)上,Java的int數(shù)據(jù)都是32位整數(shù)。相反,C語言會隨著硬軟件平臺的改變,用int標(biāo)識的整數(shù)位數(shù)也可能不全相同。
Java語言提高可移植性的代價是降低程序的執(zhí)行效率。出于java語言也是一種解釋執(zhí)行的語言,Java程序的執(zhí)行速度與C程序的執(zhí)行速度有較大的差別。不過,為了盡量彌補(bǔ)執(zhí)行效率低的缺陷,java的字節(jié)碼在設(shè)計上非常接近現(xiàn)代計算機(jī)的機(jī)器碼,這有助于提高解釋執(zhí)行的速度。
6.安全性
Java是在網(wǎng)絡(luò)環(huán)境中使用的編程語言,必須考慮安全性問題,主要有以下兩個方面:設(shè)計的安全防范:Java語言沒有指針,避免程序因為指針使用不當(dāng),訪問不應(yīng)該訪問的內(nèi)存空間;提供數(shù)組元素上標(biāo)檢測機(jī)制,禁止程序越界訪問內(nèi)存;提供內(nèi)存自動回收機(jī)制,避免程序遺漏或重復(fù)釋放內(nèi)存。
運(yùn)行安全檢查:為了防止字節(jié)碼程序可能被非法改動,解釋執(zhí)行前,先對字節(jié)碼程序作檢查,防止網(wǎng)絡(luò)“黑客”對字節(jié)碼程序已作了惡意改動,達(dá)到破壞系統(tǒng)的目的。較后,瀏覽器限制下載的小應(yīng)用程序不允許訪問本地文件,避免小應(yīng)用程序破壞本地文件。
7.分布式計算
Java語言支持客戶機(jī)/服務(wù)器計算模式。Java程序能利用URL對象,能訪問網(wǎng)絡(luò)上的對象,如同訪問本地的文件一樣,實現(xiàn)數(shù)據(jù)分布。另外,Java的客戶機(jī)/服務(wù)器模式也可以把計算從服務(wù)器分散到客戶機(jī)端,實現(xiàn)操作分布。
8.多線程
線程是比進(jìn)程更小的一種可并發(fā)執(zhí)行的單位,每個進(jìn)程都有自己獨(dú)立的內(nèi)存空間和其他資源,當(dāng)進(jìn)程切換時需要進(jìn)行數(shù)據(jù)和資源的保護(hù)與恢復(fù)。若干協(xié)同工作的線程可以共享內(nèi)存空間和資源,線程切換不需要數(shù)據(jù)的保護(hù)與恢復(fù)。
Java的運(yùn)行環(huán)境采用多線程實現(xiàn),可以利用系統(tǒng)的空閑時間執(zhí)行諸如內(nèi)存回收等操作;Java語言提供語言級多線程支持,用Java語言能直接編寫多線程程序。
雅思 托福 GRE SSAT SAT GMAT ACT 個人提升英語 英語四六級 多鄰國英語測試 詞庫 IB 英語口語 商務(wù)英語 公共英語 考研英語 青少兒英語 成人英語 A-Level 學(xué)生英語 初高中英語 OSSD AP課程 AEAS個性化定制課程 一級建造師 二級建造師 消防工程師 消防設(shè)施操作員 BIM 造價工程師 環(huán)評師 監(jiān)理工程師 咨詢工程師 安全工程師 建筑八大員 公路水運(yùn)檢測 通信工程 裝配式工程師 注冊電氣工程師 二級注冊建筑師 一級注冊建筑師 智慧消防工程師 智慧建造工程師 全過程工程咨詢師 EPC 碳排放管理師 ACCA CFA 注冊會計師 會計證 初中級經(jīng)濟(jì)師 初級會計師 中級會計師 基金從業(yè) 證券從業(yè) 稅務(wù)師 薪稅師 企業(yè)合規(guī)師 會計就業(yè)實操 期貨從業(yè) FRM CMA CQF 教師資格 人力資源管理 導(dǎo)游考試 心理咨詢師 健康管理師 社會工作師 普通話 育嬰員 物流師 家庭教育指導(dǎo)師 專利代理師 教師招聘 兒童專注力 兒童情緒管理 法律職業(yè)資格 少兒編程 書法培訓(xùn) 國畫 茶藝 樂器音樂 舞蹈 棋類 機(jī)器人編程 戲曲培訓(xùn) 信奧賽C++ 少兒小主播 口才培訓(xùn) 籃球培訓(xùn) 商務(wù)辦公 影視后期 剪輯包裝 游戲設(shè)計 游戲程序 UI設(shè)計 室內(nèi)設(shè)計 photoshop CAD制圖 視覺設(shè)計 商業(yè)空間設(shè)計 平面設(shè)計