## JavaSE核心技術

坤坤真爱粉發表於2024-07-25

JavaSE核心技術

Java的初識

JDK,JRE和JVM

1.簡介

  • JDK(Java Development Kit)

    定義:全稱Java Development Kit,是Java語言的軟體開發工具包,它提供了Java的開發環境和執行環境。

    內容:包括Java執行環境(JRE)、Java工具(如javac編譯器、java執行命令等)和Java基礎類庫。

  • JRE(Java Runtime Environment)

    定義:全稱Java Runtime Environment,是Java的執行環境,提供了在計算機上執行Java應用程式所需的最小環境。

    內容:包括Java虛擬機器(JVM)、Java平臺核心類庫和支援檔案。

  • JVM(Java Virtual Machine)

    定義:全稱Java Virtual Machine,是Java虛擬機器的縮寫,是一個虛構出來的計算機,用於執行Java位元組碼。

    內容:包括一套位元組碼指令集、一組暫存器、一個棧、一個垃圾回收堆和一個儲存方法域。

2.區別

  • JDK:主要用於Java程式的開發,提供了從編寫、編譯到執行Java程式所需的一切工具和環境。

  • JRE:用於執行Java程式,提供了Java程式執行時的必要環境,包括JVM和Java核心類庫。

  • JVM:是Java程式執行的核心,負責將Java位元組碼轉換為機器碼並執行,實現了Java的跨平臺特性。

3.聯絡

  • 包含關係:JDK包含了JRE,而JRE又包含了JVM。這種關係可以表示為JDK > JRE > JVM。
  • 功能互補:JDK提供了完整的Java開發環境,包括開發工具和執行環境;JRE提供了Java程式執行時的必要環境;JVM則是Java程式執行的核心,負責將Java位元組碼轉換為機器碼並執行。這三者共同構成了Java程式的開發、執行和執行的完整體系。
  • 跨平臺特性:JVM是Java跨平臺的核心,透過JVM,Java程式可以在不同的作業系統上執行而無需修改原始碼。這種跨平臺特性是Java語言的重要優勢之一。

JDK的安裝配置

安裝

  • 建議:安裝路徑不要有中文或者空格等特殊符號。

安裝步驟:

  • 雙擊jdk-8_windows-x64_bin.exe檔案,並單擊下一步。

  • 修改安裝路徑,自定義。

  • 將安裝路徑修改為D:\develop_tools\jdk\jdk-版本號\,並單擊下一步。

  • 稍後幾秒,安裝完成。

配置環境變數
  • 開啟系統屬性:在Windows中,右鍵點選“此電腦”或“計算機”,選擇“屬性”,然後點選“高階系統設定”,再點選“環境變數”。
  • 配置JAVA_HOME在:“系統變數”區域,點選“新建”按鈕。變數名填寫JAVA_HOME,變數值填寫JDK的安裝路徑(例如C:\Program Files\Java\jdk-11.0.13)。
  • 配置PATH:找到名為Path的系統變數,點選“編輯”按鈕。在變數值的末尾新增%JAVA_HOME%\bin(注意前面要有分號分隔符)。
  • 儲存並退出:點選“確定”按鈕儲存更改,並關閉所有開啟的對話方塊。
驗證安裝
  • 開啟命令提示符(CMD),輸入java -versionjavac -version命令,如果安裝成功,將顯示Java和Java編譯器的版本資訊。

Java編譯和執行的命令

編譯命令

編譯命令javac

  • 功能:將Java原始檔(.java檔案)編譯成Java位元組碼檔案(.class檔案)。

  • 用法:在命令列中,進入包含Java原始檔的目錄,然後輸入javac 檔名.java。例如,如果有一個名為Demo.java的原始檔,則編譯命令為javac Demo.java

    注意事項

  • 確保JDK已經正確安裝,並且javac命令在系統的PATH環境變數中。

  • 編譯時,如果原始檔中有語法錯誤,javac會報錯,並指出錯誤的位置。

  • 編譯成功後,會在同一目錄下生成相應的.class檔案。

執行命令

執行命令java

  • 功能:執行Java位元組碼檔案(.class檔案),由Java虛擬機器(JVM)對位元組碼進行解釋和執行。

  • 用法:在命令列中,進入包含.class檔案的目錄,然後輸入java 類名(注意不帶.class字尾)。例如,如果有一個名為Demo的類(即Demo.class檔案),則執行命令為java Demo

    注意事項

  • 確保JDK已經正確安裝,並且java命令在系統的PATH環境變數中。

  • 執行時,JVM會在當前目錄的上一級目錄(即類路徑)中查詢類檔案,如果找不到,會報錯。

  • 如果需要指定類路徑,可以使用-cp-classpath選項,後跟類路徑的值。

總結

JDK的編譯和執行命令是Java開發中的基礎命令,掌握它們對於進行Java程式設計至關重要。編譯命令javac用於將Java原始檔編譯成位元組碼檔案,而執行命令java則用於執行這些位元組碼檔案。在使用這些命令時,需要注意JDK的安裝和配置,以及命令的語法和用法。

Java跨平臺原理

1. 編譯成中間程式碼(位元組碼)

  • 編譯過程:Java原始碼(.java檔案)首先被編譯成中間程式碼,即位元組碼(.class檔案)。這一過程是透過Java編譯器(javac)完成的。
  • 平臺無關性:位元組碼是一種與特定平臺無關的程式碼,它既不是針對任何特定硬體的機器碼,也不是依賴於任何作業系統的程式碼。因此,位元組碼可以在任何安裝了Java虛擬機器(JVM)的系統上執行。

2. Java虛擬機器(JVM)

  • 定義與功能:JVM是一個可以執行Java位元組碼的虛擬計算機。它模擬了各種計算機功能,使得Java程式能夠在不同平臺上執行而無需修改原始碼。
  • 平臺特定實現:雖然JVM本身是一個規範,但每個作業系統都有對應的JVM實現。這些實現將位元組碼轉換為特定平臺的機器碼,從而實現了Java程式的跨平臺執行。
  • 效能最佳化:JVM還包含了即時編譯器(JIT),它可以將頻繁執行的位元組碼編譯成本地機器碼,以提高程式的執行效率。

3. 豐富的標準庫和API

  • 標準庫:Java提供了一個豐富的標準庫,這些庫是用Java編寫的,對所有平臺都是相同的。這意味著Java程式可以利用這些標準庫來進行檔案操作、網路通訊等,而不必擔心底層作業系統的差異。
  • 抽象作業系統介面:Java還提供了一套抽象的介面來代表底層作業系統的功能,這樣Java程式就可以透過這些介面與作業系統互動,而不需要直接與作業系統打交道。

4. 跨平臺性帶來的優勢

  • 靈活性:Java程式只需要編譯一次,就可以在任何支援JVM的作業系統上執行,這大大提高了開發效率和靈活性。
  • 廣泛應用:由於Java的跨平臺性,它被廣泛用於開發各種型別的應用程式,包括桌面應用程式、Web應用程式、移動應用程式以及企業級應用程式等。

5. 注意事項

  • JVM的特定性:雖然Java程式本身是跨平臺的,但JVM並不是。不同的作業系統需要安裝對應版本的JVM才能執行Java程式。
  • 效能差異:開發者需要考慮到不同平臺上可能存在的效能差異,以及確保使用的第三方庫和工具也是跨平臺的。

相關文章