2020年Java編程語言-基礎概要

本篇文章為Java語言的開篇,通過本篇文章的描述,你可以快速地對Java有一個基本的認識。文章將介紹Java的特性,原理以及應用範圍等。


2020年Java編程語言-基礎概要


1. Java編程語言

​ 簡單來說,Java是一種面向對象的高級編程語言,它具備以下一些特性:

  • 易於學習和使用
  • 解釋型語言
  • 面向對象編程
  • 具備多線程能力
  • 平臺無關性
  • 可移植性強
  • 高性能
  • 穩健強大
  • 安全性高

有一點需要明確的是,Java是一門解釋型的語言,雖然Java源代碼需要通過Java編譯器進行編譯,但最終這些編譯後的字節碼是通過Java虛擬機(JVM)解釋執行的。下圖是Java軟件開發的一個基本流程:

2020年Java編程語言-基礎概要

在Java語言中,所有的源代碼都使用純文本進行編寫,並使用.java作為文件的後綴名,下面是一個Java源代碼的簡單示例:

<code>/** * 第一個Java示例應用程序:向世界問好! */public class MyApplication{    public static void main(String[] args){        System.out.println("Hello  World!")    }}/<code>

然後,Java源代碼文件將由javac編譯器編譯為.class文件,一個.class文件包含了所有Java虛擬機(JVM)所需要的字節碼,下面是編譯.java源文件的示例:

<code>javac MyApplication.java/<code>

最後,使用Java運行工具,將.class字節碼文件放入Java虛擬機中並運行應用程序,下面是運行Java程序的示例:

<code>java MyApplication/<code>
2020年Java編程語言-基礎概要

2. Java語言平臺無關性

​ Java另一個吸引開發者的特性是一次編譯,到處運行,即跨平臺運行。使用Java語言編寫的應用程序可以在任何操作系統和硬件上運行。Java語言是如何做到這一點的?其中的奧妙在於Java編譯器編譯完成的.class字節碼文件與具體的操作系統無關,而在運行時,將由Java虛擬機解釋執行這些字節碼。具體流程如下圖:

2020年Java編程語言-基礎概要

從上圖可以看出,經過編譯後的Java源文件,通過JVM(Java虛擬機)可以在不同的操作系統上運行,例如Microsoft Windows Operation System,Solaris操作系統(Solaris Operation System),Linux操作系統(Unix/Linux Operation System)以及Mac操作系統(Mac Operation System)。藉助Java虛擬機,使Java語言真正具備了一次編寫,到處運行的能力(Write Once,Run Anywhere-WORA)。

3. JVM平臺相關性

​ 需要特別區分的是:Java語言是平臺無關的(跨平臺運行),但並不意味著JVM(Java虛擬機)也是平臺無關的。JVM用於將字節碼轉換為操作系統可執行的機器語言,但不同的操作系統器其所能執行的二進制機器碼是不一致的,因此,JVM需要依賴於具體的操作系統。不同的操作系統將對應不同的JVM。Windows OS使用的JVM不能在Linux/Unix OS上使用,同理,其他操作系統使用的JVM也不能相互使用,所以,JVM是平臺(OS)相關的。我們可以在Oracle官網看到,官方為開發者提供了不同操作系統所使用的JVM。

2020年Java編程語言-基礎概要

4. Java 平臺

​ 所謂的平臺,可以簡單的概括為操作系統和底層硬件的組合,例如Android平臺,Microsoft Windows平臺,Linux/Unix平臺,Mac平臺等等。與上述這些平臺不同的是,Java平臺是一個虛擬化的平臺,它只有軟件的部分,也正是因為如此,Java平臺可以很容易的在其他的硬件平臺上運行。

​ Java平臺主要包含兩個部分:

  • Java 虛擬機(JVM-Java Virtual Machine)
  • Java應用程序編程接口(Java API-Java Application Programming Interface)

JVM(Java virtual Machine)不是一個具體的機器(相對於硬件),它是一種基於軟件的抽象機器。JVM定義了一組規範,並提供了在JVM中執行.class字節碼的運行時環境;Java API可以簡單的理解為諸多編程可用的組件集合,這些組件封裝了大量的功能,複用這些現有組件,可以提高編碼時的工作效率。

2020年Java編程語言-基礎概要

5. 為什麼選擇Java?

為什麼選擇Java?我們先來看兩張編程語言排行表和走勢圖:

2020年Java編程語言-基礎概要

2020年Java編程語言-基礎概要

理由一:面向對象的編程語言

Java時面向對象的編程語言,這意味著它遵循一種編程風格:基於類,對象,繼承等概念,這有助於保持系統的靈活性和可擴展性。

理由二:開放源代碼

Java是開源的,它擁有大量可供選擇的代碼庫,與此同時,在Java源代碼的基礎上,開發人員還可以更具項目要求對其進行擴展,最大限度的複用現有的代碼,這使得使用Java開發應用的成本得到降低。

理由三:強大的社區支持

Java有著強大的社區作為支持,在此基礎上,還有很多優秀的第三方廠商都支持Java語言,如我們熟知的Spring,Hibernate,Android等。你可以在各大Java社區中獲得完善的,高質量的文檔,教程,示例等資源。

理由四:跨平臺

Java語言是平臺獨立的,這意味著它可以在各種平臺上運行。Java的經典名言:“Write Once,Run Anywhere”很貼切的表達了Java這一特性,開發人員只需要編寫一份Java代碼,便可藉助JVM在不同的操作系統中運行Java程序。

理由五:分佈式

Java語言可以使用遠程方法調用(RMI)來共享系統資源。在網絡區域中,藉助RMI可以輕鬆實現多臺服務器之間的通信和資源共享。

理由六:安全

Java語言的安全性比較高,它提供了對象封裝和數據抽象,我們可以通過這些特性對數據的訪問權限進行控制。

6 .結束語

​ 文章最後,談談一個讓諸多程序員一直津津樂道的問題:“誰是世界上最好的語言?”,在這裡,我想借由一個比喻談談我的看法:

自行車是一個很好的代步工具,綠色環保,小巧方便,通過性好,這就好比某些輕量級的編程語言,容易上手;而四個輪子的汽車相比於自行車而言,駕馭難度大,不那麼環保,體積大,容易堵車,但不能因此說自行車是最好的交通工具,大部分情況下,自行車是娛樂休閒健身使用,而汽車大部分情況是為了效率和速度。如果將Java比作一臺汽車的話,我青睞於它的原因是:它能上高速,安全係數高,駕駛舒適,有成就感,而自行車不能上高速,載重也幹不過汽車。



分享到:


相關文章: