Java基礎知識篇——Java基本介紹

白夜的白發表於2024-03-11

一、什麼是 Java

Java 是 Sun Microsystems 於 1995 年首次釋出的一種程式語言和計算平臺。程式語言還是比較好理解的,什麼是計算平臺呢?

計算平臺是電腦中執行應用程式(軟體的環境),包括硬體環境和軟體環境。一般系統平臺包括一臺電腦的硬體體系結構,作業系統、執行時庫。

Java 是快速,安全和可靠的。從膝上型電腦到資料中心,從遊戲機到科學超級計算機,從手機到網際網路,Java 無處不在!Java 分三個版本

  • JavaSE (J2SE) (Java2 Platform Standard Edition java平臺標準版)
  • JavaEE (J2EE) (Java2 Platform,Enterprise Edition, java平臺企業版)
  • JavaME (J2ME) (Java 2 Platform Micro Edition, java平臺微型版)

二、Java 的特點

1、Java 是一門物件導向的程式語言

什麼是物件導向?**物件導向 (Object Oriented) **是一種軟體開發思想。他是對現實世界的一種抽象,物件導向會把相關資料和方法組織成為一個整體來看待

相對的另外一種開發思想就是程序導向的開發思想,什麼程序導向? 程序導向 (Procedure0riented) 是一種以過程為中心的程式設計思想。舉個例子:比如你是個學生,你每天去上學需要做幾件事情?
起床、穿衣服、洗臉刷牙,吃飯,去學校。一般是順序性的完成一系列動作。

class student{
    void student_wakeUp(){...}
    void student_cloth(){...}
    void student_wash(){...}
    void student_eating(){...}
    void student_gotoSchool(){...}
}

而物件導向可以把學生進行抽象,所以這個例子就會變為

class student{
    void wakeUp(){...}
    void cloth(){...}
    void wash(){...}
    void eating(){...}
    void gotoSchool(){...}
}

可以不用嚴格按照順序來執行每個動作。這是特點一

  • Java 摒棄了C++中難以理解的多繼承、指標、記憶體管理等概念;不用手動管理物件的生命週期,這是特點二

  • Java 語言具有功能強大和簡單易用的兩個特徵,現在的企業級開發,快速敏捷開發,尤其是各種框架的出現,使Java 成為一門越來越火的一門語言,這是特點三。

  • Java 是一門靜態語言,靜態語言是指就是在編譯期間就能夠知道資料型別的語言,在執行前就能夠檢查型別的正確性,一旦型別確定後就不能再更改,比如下面這個例子

    public void foo(){
        int x = 5;
        boolean b = x;
    }
    

    靜態語言主要有 Pascal, Perl,C/C++,JAVA,C#,Scala

相應的,動態語言沒有任何特定的情況需要指定變數的型別,再執行時確定的資料型別。比如有 Lisp,Perl, Python、Ruby、JavaScript 等。

從設計的角度來說,所有的語言都是設計用來把人類可讀的程式碼轉換為機器指令。動態語言是為了能夠人程式設計師提高編碼效率,因此你可以使用更少的程式碼來實現功能。靜態語言設計是用來讓硬體執行的更高效,因此需要程式設計師編寫準確無誤的程式碼,以此讓你的程式碼儘快的執行。從這個角度上來說,靜態語言的執行效率要比動態語言高,速度更快。這是特點四。

2、Java 具有平臺的獨立性和可移植性

Java 有一句非常著名的口號: Write once,run anywhere ,也就是一次編寫、到處執行。為什麼 Java 能夠吹出這種牛批的口號來?核心就是 **JVM **。我們知道,計算機應用程式和硬體之間會遮蔽很多細節,它們之間依靠作業系統完成排程和協調,大致的體系結構如下

01

那麼加上 Java 應用、JVM 的體系結構會變為如下

02

Java 是跨平臺的,已編譯的 Java 程式可以在任何帶有 JVM 的平臺執行,你可以在 Windows 平臺下編寫程式碼,然後拿到 Linnx 平臺下執行,該如何實現呢

首先你需要在應用中編寫 Java 程式碼;

Eclipse 或者 javac 把 Java 程式碼編譯為 .class 檔案

然後把你的 .class 檔案打包成 .jar 檔案

然後你的 .jar 檔案就能夠在 Windows 、Mac OS X、Linux 系統下執行了。不同的作業系統有不同的 JVM 實現,切換平臺時,不需要再次編譯你的 Java 程式碼了。這是特點五

3、Java 能夠容易實現多執行緒

Java 是一門高階語言,高階語言會對使用者遮蔽很多底層實現細節。比如 Java 是如何實現多執行緒的。從作業系統的角度來說,實現多執行緒的方式主要有下面這幾種

在使用者空間中實現多執行緒

在核心空間中實現多執行緒

在使用者和核心空間中混合實現執行緒

而我認為 Java 應該是在 使用者空間 實現的多執行緒的,核心是感知不到 Java 存在多執行緒機制的。這是特點六

4、Java 具有高效能

我們編寫的程式碼,經過 javac 編譯器編譯稱為 位元組碼(bytecode),經過 JVM 內嵌的直譯器將位元組碼轉換為機器程式碼,這是解釋執行,這種轉換過程效率較低。但是部分 JVM 的實現比如 Hotspot JVM 都提供了 **JIT(Just-In-Time) **編譯器,也就是通常所說的動態編譯器,JIT 能夠在執行時將熱點程式碼編譯機器碼,這種方式執行效率比較高,這是編譯執行。所以 Java 不僅僅只是一種解釋執行的語言。這是特點七。

5、Java 語言具有強壯性

Java 的強型別機制、異常處理、垃圾的自動回收集等是 Java 程式強壯性的重要保證,這也是 Java 與 C 語言的重要區別

6、很容易開發分散式專案

Java 語言支援 Internet 應用的開發,Java 中有 net api,它提供了用於網路應用程式設計的類庫,包括URL、URLConnection、Socket、ServerSocket等。Java的 RMI(遠端方法啟用) 機制也是開發分散式應用的重要手段。這是特點九。

三、Java 開發環境

1、JDK

JDK(Java Developmet Kir)稱 Java 開發包或 Java 開發工具,是一個編寫 Java 的 Applet小程式和應用程式的程式開發環境。JDK 是整個Java的核心,包括了 Java執行環境(Java Runtime Environment),一些 Java 工具Java 的核心類庫(Java API)

03

我們可以認真研究一下這張圖,它幾乎包括了 Java 中所有的概念,我使用的是 jdk1.8 ,可以點進去 Description of Java Conceptual Diagram , 可以發現這裡麵包括了所有關於 Java 的描述

Oracle 提供了兩種 Java 平臺的實現,一種是我們上面說的 JDK,Java 開發標準工具包,一種叫 JRE,叫做 Java Runtime Environment,Java 執行時環境。JDK 的功能要比 JRE 全很多。

2、JRE

JRE 是個執行環境,JDK 是個開發環境。因此寫 Java 程式的時候需要 JDK,而執行 Java 程式的時候就需要 JRE。而 JDE 裡面已經包含了 JRE。因此只要安裝了了 JDK,就可以編輯 Java 程式,也可以正常執行 Java 程式。但由於 JDK 包含了許多與執行無關的內容,佔用的空間較大,因此執行普通的 Java 程式無需安裝 JDK,只需要安裝 JRE 即可。

相關文章