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