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