- Java編程講義
- 榮銳鋒 張晨光等編著
- 1022字
- 2022-07-28 18:49:20
1.1.2 Java語(yǔ)言的特點(diǎn)
Java語(yǔ)言是一門跨平臺(tái)的適用于移動(dòng)端、服務(wù)器領(lǐng)域、分布式環(huán)境的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言,它之所以能從眾多編程語(yǔ)言中脫穎而出,成為最流行的服務(wù)器端開(kāi)發(fā)語(yǔ)言,是因?yàn)榫邆淙缦嘛@著特點(diǎn):
簡(jiǎn)單易學(xué)。Java語(yǔ)言雖然衍生于C++,但是刪除了許多使用頻率低、不易理解和容易混淆的功能,如指針、運(yùn)算符重載、多繼承等。這樣做可以使Java程序直接訪問(wèn)內(nèi)存地址,保證程序更高的安全性,并提供了自動(dòng)的垃圾回收機(jī)制GC,程序員不必再擔(dān)憂內(nèi)存管理問(wèn)題。
面向?qū)ο蟆ava是一種以對(duì)象為中心,以消息為驅(qū)動(dòng)的面向?qū)ο蟮恼Z(yǔ)言,它提供了類、接口和繼承等,不支持類之間的多繼承,但是支持接口之間的多繼承,并支持類和接口之間的實(shí)現(xiàn)機(jī)制。
平臺(tái)無(wú)關(guān)性。Java語(yǔ)言是平臺(tái)無(wú)關(guān)的語(yǔ)言,源文件(后綴為.java 的文件)通過(guò)Java編譯器生成一種體系結(jié)構(gòu)中立的目標(biāo)文件(后綴為.class的文件),依賴Java虛擬機(jī)(JVM)在目標(biāo)計(jì)算機(jī)系統(tǒng)中實(shí)現(xiàn)了平臺(tái)無(wú)關(guān)性,JVM是Java平臺(tái)無(wú)關(guān)的基礎(chǔ)。平臺(tái)無(wú)關(guān)性是確保程序可移植的最重要部分,Java 還嚴(yán)格規(guī)定了各個(gè)基本數(shù)據(jù)類型的長(zhǎng)度,Java編譯器是用Java語(yǔ)言實(shí)現(xiàn)的,Java的運(yùn)行環(huán)境是用ANSIC實(shí)現(xiàn)的,使Java系統(tǒng)本身具有很強(qiáng)的可移植性。
支持多線程。線程是比進(jìn)程更小的執(zhí)行單位,很多操作系統(tǒng)都把線程視為基本的執(zhí)行單位。Java支持多線程編程,可以實(shí)現(xiàn)并發(fā)處理多個(gè)任務(wù),互不干涉,不會(huì)由于某一任務(wù)處于等待狀態(tài)而影響其他任務(wù)的執(zhí)行,可以提高程序執(zhí)行效率。
支持網(wǎng)絡(luò)編程。Java就是為網(wǎng)絡(luò)而設(shè)計(jì)的語(yǔ)言,完全支持互聯(lián)網(wǎng)的所有功能。Java通過(guò)系統(tǒng)類庫(kù)支持TCP/IP協(xié)議、UDP協(xié)議、HTTP協(xié)議等,用戶可以通過(guò)URL地址在網(wǎng)絡(luò)上很方便地訪問(wèn)Web對(duì)象,實(shí)現(xiàn)與Web對(duì)象的信息交互。
健壯性。Java語(yǔ)言是一門強(qiáng)類型語(yǔ)言,它在編譯和運(yùn)行時(shí)進(jìn)行大量的類型檢查,防止不匹配的數(shù)據(jù)類型的發(fā)生,并且具備了異常處理、強(qiáng)類型機(jī)制、GC自動(dòng)回收等特性,保證了程序的穩(wěn)定、健壯。
安全性。Java語(yǔ)言設(shè)計(jì)的目的是用于網(wǎng)絡(luò)/分布式運(yùn)算環(huán)境,因此它非常注重安全性,以防遭到惡意程序的攻擊。除了丟棄指針來(lái)保證內(nèi)存使用安全以外,Java語(yǔ)言通過(guò)自己的安全機(jī)制防止了惡意程序?qū)Ρ镜叵到y(tǒng)的破壞,主要包括通過(guò)字節(jié)碼校驗(yàn)器檢查、限制從網(wǎng)絡(luò)加載的類只能訪問(wèn)特定文件系統(tǒng)等,保證了Java成為了安全的編程語(yǔ)言。
分布式計(jì)算。Java語(yǔ)言可以開(kāi)發(fā)分布式計(jì)算的程序,具有強(qiáng)大的、使用簡(jiǎn)單的聯(lián)網(wǎng)能力。它提供了很多可以用于網(wǎng)絡(luò)應(yīng)用編程的類庫(kù),包括URL、URLConnection、Socket、ServerSocket等,使應(yīng)用程序可以像訪問(wèn)本地文件系統(tǒng)那樣用URL訪問(wèn)遠(yuǎn)程對(duì)象。
想一想:你了解哪些語(yǔ)言?Java語(yǔ)言在眾多編程中脫穎而出的原因有哪些?
- Advanced Quantitative Finance with C++
- MongoDB for Java Developers
- FFmpeg入門詳解:音視頻流媒體播放器原理及應(yīng)用
- Mastering Predictive Analytics with Python
- 名師講壇:Spring實(shí)戰(zhàn)開(kāi)發(fā)(Redis+SpringDataJPA+SpringMVC+SpringSecurity)
- C語(yǔ)言課程設(shè)計(jì)
- Java高并發(fā)核心編程(卷1):NIO、Netty、Redis、ZooKeeper
- Serverless Web Applications with React and Firebase
- 創(chuàng)意UI Photoshop玩轉(zhuǎn)移動(dòng)UI設(shè)計(jì)
- ASP.NET Web API Security Essentials
- 從零開(kāi)始學(xué)Python大數(shù)據(jù)與量化交易
- Mastering OpenStack
- Java EE 7 Development with WildFly
- Instant AppFog
- C語(yǔ)言解惑:指針、數(shù)組、函數(shù)和多文件編程