JAVA知識點總結(jié)

Java語言具有的特點有:

簡單性、跨平臺性、面向?qū)ο?、安全性、多線程性、分布性、可移植性、解釋型、高性能和動態(tài)性。

(1)簡單性

Java語言類似C++,因此熟悉C++的程序員很容易掌握java,另外它摒棄了C++中易發(fā)生錯誤的地方,

尤其是Java語言不使用指針,并提供了自動的廢料收集,使得程序員不必為內(nèi)存管理而擔(dān)憂。

(2)跨平臺性


所謂的跨平臺性就是指軟件可以不受計算機(jī)硬件和操作系統(tǒng)的約束而在任意計算機(jī)環(huán)境下正常運行。

而在Java中它自帶的虛擬機(jī)可以很好的實現(xiàn)跨平臺性,它提供了一個字節(jié)碼到底層硬件平臺及操作系統(tǒng)的屏障,

使得Java語言具備跨平臺性。


(3)面向?qū)ο?/p>


Java是一種面向?qū)ο笳Z言,它可以使得程序的開發(fā)更加簡單易用。比如具有代碼擴(kuò)展,代碼復(fù)用等功能。


(4)安全


Java的安全性可從兩個方面得到保證。一方面,在Java語言里,指針和釋放內(nèi)存等C++功能被刪除,

避免了非法內(nèi)存操作。另一方面,當(dāng)Java用來創(chuàng)建瀏覽器時,語言功能和瀏覽器本身提供的功能結(jié)合起來,

使它更安全。Java語言在機(jī)器上執(zhí)行前,要經(jīng)過很多次的測試。它經(jīng)過代碼校驗,檢查代碼段的格式,

檢測指針操作,對象操作是否過分以及試圖改變一個對象的類型。


(5)多線程


多線程是指允許一個應(yīng)用程序同時存在兩個或兩個以上的線程,用于支持事務(wù)并發(fā)和多任務(wù)處理。

Java除了內(nèi)置的多線程技術(shù)之外,還定義了一些類、方法等來建立和管理用戶定義的多線程。


(6)分布性


Java語言支持Internet應(yīng)用的開發(fā),在基本的Java應(yīng)用編程接口中有一個網(wǎng)絡(luò)應(yīng)用編程接口,

它提供了用于網(wǎng)絡(luò)應(yīng)用編程的類庫,包括URL、URLConnection、Socket、ServerSocket等。

Java的RMI(遠(yuǎn)程方法激活)機(jī)制也是開發(fā)分布式應(yīng)用的重要手段。


(7)可移植的


Java系統(tǒng)本身具有很強(qiáng)的可移植性,Java編譯器是用Java實現(xiàn)的,Java的運行環(huán)境是用ANSI C實現(xiàn)的,

另外Java還嚴(yán)格規(guī)定了各個基本數(shù)據(jù)類型的長度


(8)解釋的


Java解釋器能直接運行目標(biāo)代碼指令,鏈接程序通常比編譯程序所需資源少,

所以程序員可以在創(chuàng)建源程序上花上更多的時間。


(9)高性能


如果解釋器速度不慢,Java可以在運行時直接將目標(biāo)代碼翻譯成機(jī)器指令,

翻譯目標(biāo)代碼的速度與C/C++的性能沒什么區(qū)別。


(10)動態(tài)性


Java語言的設(shè)計目標(biāo)之一是適應(yīng)于動態(tài)變化的環(huán)境,Java程序需要的類能夠動態(tài)地被載入到運行環(huán)境

,也可以通過網(wǎng)絡(luò)來載入所需要的類。這也有利于軟件的升級。


1.2

什么是Java虛擬機(jī):Java虛擬機(jī)(Java Virtual Machine 簡稱JVM)是運行所有Java程序的抽象計算機(jī),

是Java語言的運行環(huán)境,它是Java 最具吸引力的特性之一。

特點:Java語言的一個非常重要的特點就是與平臺的無關(guān)性。而使用Java虛擬機(jī)是實現(xiàn)這一特點的關(guān)鍵。

一般的高級語言如果要在不同的平臺上運行,至少需要編譯成不同的目標(biāo)代碼。而引入Java語言虛擬機(jī)后,

Java語言在不同平臺上運行時不需要重新編譯。Java語言使用模式Java虛擬機(jī)屏蔽了與具體平臺相關(guān)的信息

,使得Java語言編譯程序只需生成在Java虛擬機(jī)上運行的目標(biāo)代碼(字節(jié)碼),就可以在多種平臺上不加修改地運行。

Java虛擬機(jī)在執(zhí)行字節(jié)碼時,把字節(jié)碼解釋成具體平臺上的機(jī)器指令執(zhí)行。

1.3

什么是字節(jié)碼: Java 中引入了虛擬機(jī)的概念,即在機(jī)器和編譯程序之間加入了一層抽象的虛擬的機(jī)器。

這臺虛擬的機(jī)器在任何平臺上都提供給編譯程序一個的共同的接口。編譯程序只需要面向虛擬機(jī),

生成虛擬機(jī)能夠理解的代碼,然后由解釋器來將虛擬機(jī)代碼轉(zhuǎn)換為特定系統(tǒng)的機(jī)器碼執(zhí)行。

在 Java 中,這種供虛擬機(jī)理解的代碼叫做字節(jié)碼(即擴(kuò)展名為 .class 的文件),它不面向任何特定的處理器,

只面向虛擬機(jī)。每一種平臺的解釋器是不同的,但是實現(xiàn)的虛擬機(jī)是相同的。

Java 源程序經(jīng)過編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機(jī)解釋執(zhí)行,虛擬機(jī)將每一條要執(zhí)行的字節(jié)碼送給解釋器,

解釋器將其翻譯成特定機(jī)器上的機(jī)器碼,然后在特定的機(jī)器上運行。這也就是解釋了 Java 的編譯與解釋并存的特點。
































?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 在一個方法內(nèi)部定義的變量都存儲在棧中,當(dāng)這個函數(shù)運行結(jié)束后,其對應(yīng)的棧就會被回收,此時,在其方法體中定義的變量將不...
    Y了個J閱讀 4,568評論 1 14
  • equals和==的區(qū)別 1.基本數(shù)據(jù)類型(byte short char int long float doub...
    Rush的博客閱讀 784評論 0 2
  • Java繼承關(guān)系初始化順序 父類的靜態(tài)變量-->父類的靜態(tài)代碼塊-->子類的靜態(tài)變量-->子類的靜態(tài)代碼快-->父...
    第六象限閱讀 2,248評論 0 9
  • 面向?qū)ο驤ava中的數(shù)據(jù)類型分為:原始數(shù)據(jù)類型和引用數(shù)據(jù)類型在數(shù)據(jù)類型轉(zhuǎn)換中,由低類型轉(zhuǎn)至高類型,將會自動(隱式)...
    pure_joy閱讀 276評論 0 0
  • JAVA知識點概括 BIO 阻塞式IO(BIO):數(shù)據(jù)在寫入OutputStream或者InputStream都有...
    andpy閱讀 458評論 0 1

友情鏈接更多精彩內(nèi)容