基礎篇
一、什么是Java
Java是一門面向物件的高級編程語言,不僅吸收了C++語言的各種優點,比如繼承了C++語言面向物件的技術核心,還摒棄了C++里難以理解的多繼承、指標等概念,,同時也增加了垃圾回識訓制,釋放掉不被使用的記憶體空間,解決了管理記憶體空間的煩惱,
因此Java語言具有功能強大和簡單易用兩個特征,Java語言作為靜態面向物件編程語言的代表,極好地實作了面向物件理論,允許程式員以優雅的思維方式進行復雜的編程 ,
二、Java的特點有哪些
Java 語言是一種分布式的面向物件語言,具有面向物件、平臺無關性、簡單性、解釋執行、多執行緒、安全性等很多特點,
下面針對這些特點進行逐一介紹,
- 面向物件
Java 是一種面向物件的語言,它對物件中的類、物件、繼承、封裝、多型、介面、包等均有很好的支持,為了簡單起見,Java 只支持類之間的單繼承,但是可以使用介面來實作多繼承,使用 Java 語言開發程式,需要采用面向物件的思想設計程式和撰寫代碼, - 平臺無關性
平臺無關性的具體表現在于,Java 是“一次撰寫,到處運行(Write Once,Run any Where)”的語言,因此采用 Java 語言撰寫的程式具有很好的可移植性,而保證這一點的正是 Java 的虛擬機機制,在引入虛擬機之后,Java 語言在不同的平臺上運行不需要重新編譯,
Java 語言使用 Java 虛擬機機制屏蔽了具體平臺的相關資訊,使得 Java 語言編譯的程式只需生成虛擬機上的目標代碼,就可以在多種平臺上不加修改地運行, - 簡單性
Java 語言的語法與 C 語言和 C++ 語言很相近,使得很多程式員學起來很容易,對 Java 來說,它舍棄了很多 C++ 中難以理解的特性,如運算子的多載和多繼承等,而且 Java 語言不使用指標,加入了垃圾回識訓制,解決了程式員需要管理記憶體的問題,使編程變得更加簡單, - 解釋執行
Java 程式在 Java 平臺運行時會被編譯成位元組碼檔案,然后可以在有 Java 環境的作業系統上運行,在運行檔案時,Java 的解釋器對這些位元組碼進行解釋執行,執行程序中需要加入的類在連接階段被載入到運行環境中, - 多執行緒
Java 語言是多執行緒的,這也是 Java 語言的一大特性,它必須由 Thread 類和它的子類來創建,Java 支持多個執行緒同時執行,并提供多執行緒之間的同步機制,任何一個執行緒都有自己的 run() 方法,要執行的方法就寫在 run() 方法體內, - 分布式
Java 語言支持 Internet 應用的開發,在 Java 的基本應用編程介面中就有一個網路應用編程介面,它提供了網路應用編程的類別庫,包括 URL、URLConnection、Socket 等,Java 的 RIM 機制也是開發分布式應用的重要手段, - 健壯性
Java 的強型別機制、例外處理、垃圾回識訓制等都是Java 健壯性的重要保證,對指標的丟棄是 Java 的一大進步,另外,Java 的例外機制也是健壯性的一大體現, - 高性能
Java 的高性能主要是相對其他高級腳本語言來說的,隨著 JIT(Just in Time)的發展,Java 的運行速度也越來越高, - 安全性
Java 通常被用在網路環境中,為此,Java 提供了一個安全機制以防止惡意代碼的攻擊,除了 Java 語言具有許多的安全特性以外,Java 還對通過網路下載的類增加一個安全防范機制,分配不同的名字空間以防替代本地的同名類,并包含安全管理機制,
Java 語言的眾多特性使其在眾多的編程語言中占有較大的市場份額,Java 語言對物件的支持和強大的API使得編程作業變得更加容易和快捷,大大降低了程式的開發成本,Java 的“一次撰寫,到處執行”正是它吸引眾多商家和編程人員的一大優勢,
三、JDK和JRE和JVM的區別
- JDK
JDK(Java SE Development Kit),Java標準的開發包,提供了編譯、運行Java程式所需要的各種工具和資源,包括了Java編譯器、Java運行時環境、以及常用的Java類別庫等, - JRE
JRE(Java Runtime Environment),Java運行時環境,用于解釋執行Java的位元組碼檔案,普通用戶只需要安裝JRE來運行Java程式即可,而作為一名程式員必須安裝JDK,來編譯、除錯程式, - JVM
JVM(Java Virtual Mechinal),Java虛擬機,是JRE的一部分,它是整個Java實作跨平臺的核心,負責解釋執行位元組碼檔案,是可運行Java位元組碼檔案的虛擬計算機,所有平臺上的JVM向編譯器提供相同的介面,而編譯器只需要面向虛擬機,生成虛擬機能識別的代碼,然后由虛擬機來解釋執行,
當使用Java編譯器編譯Java程式時,生成的是與平臺無關的位元組碼,這些位元組碼只面向JVM,也就是說JVM是運行Java位元組碼的虛擬機,
不同平臺的JVM是不同的,但是他們都提供了相同的介面,JVM是Java程式跨平臺的關鍵部分,只要為不同平臺實作了相同的虛擬機,編譯后的Java位元組碼就可以在該平臺上運行,
為什么要采用位元組碼:
在 Java 中,JVM 可以理解的代碼就叫做位元組碼 (即Java源代碼經過虛擬機編譯器編譯后擴展名為.class的檔案),它不面向任何特定的處理器,只面向虛擬機,Java 語言通過位元組碼的方式,在一定程度上解決了傳統解釋型語言執行效率低的問題,同時又保留了解釋型語言可移植的特點,所以Java程式運行時比較高效,而且,由于位元組碼并不針對一種特定的機器,因此,Java 程式無須重新編譯便可在多種不同作業系統的計算機上運行,
什么是跨平臺:
所謂跨平臺性,是指java語言撰寫的程式,一次編譯后,可以在多個系統平臺上運行,
實作原理:Java程式是通過java虛擬機在系統平臺上運行的,只要該系統可以安裝相應的java虛擬 機,該系統就可以運行java程式,
Java 程式從源代碼到運行需要三步:

- 總結
-
- JDK 用于開發,JRE 用于運行java程式 ;如果只是運行Java程式,可以只安裝JRE,無序安裝JDK,
-
- JDk包含JRE,JDK 和 JRE 中都包含 JVM,
-
- JVM 是 Java 編程語言的核心并且具有平臺獨立性,
四、Oracle JDK 和 OpenJDK 的對比
- Oracle JDK版本將每三年發布一次,而OpenJDK版本每三個月發布一次;
- OpenJDK 是一個參考模型并且是完全開源的,而Oracle JDK是OpenJDK的一個實作,并不是完全開源的;
- Oracle JDK 比 OpenJDK 更穩定,OpenJDK和Oracle JDK的代碼幾乎相同,但Oracle JDK有更多的類和一些錯誤修復,因此,如果您想開發企業/商業軟體,我建議您選擇Oracle JDK,因為它經過了徹底的測驗和穩定,某些情況下,有些人提到在使用OpenJDK 可能會遇到了許多應用程式崩潰的問題,但是,只需切換到Oracle JDK就可以解決問題;
- 在回應性和JVM性能方面,Oracle JDK與OpenJDK相比提供了更好的性能;
- Oracle JDK不會為即將發布的版本提供長期支持,用戶每次都必須通過更新到最新版本獲得支持來獲取最新版本;
- Oracle JDK根據二進制代碼許可協議獲得許可,而OpenJDK根據GPL v2許可獲得許可,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/501997.html
標籤:其他
上一篇:SpringCloud知識點整理
下一篇:關于生命的本質 復制
