尋夢新聞LINE@每日推播熱門推薦文章,趣聞不漏接❤️
一、Java程序運行機制及運行過程
Java兩種核心機制:
①Java虛擬機(Java Virtual Machine)
②垃圾收集機制(Garbage collection)
二、核心機制之Java虛擬機
①Java虛擬機可以理解成一個以字節碼(目標代碼)為機器指令的CPU。
②對於不同的運行平台,有不同的虛擬機
③Java虛擬機機制屏蔽了底層平台的差別,做到了「一次編譯,隨處運行」。
三、核心機制之垃圾收集
①不再使用的記憶體空間應回收——垃圾收集。
②在C/C++等語言中,由工程師負責回收無用記憶體。
③Java需要消除了工程師回收無用記憶體空間的責任,提供了一種系統級線程跟蹤存儲空間的分配情況。並在JVM的空閒時,檢查並釋放那些可被釋放的存儲器空間。
④垃圾收集在Java程序運行過程中自動進行,工程師無法精準控制和干預。
四、JDK、JRE、JVM
JDK包括了Java運行環境(JRE)、Java工具和Java基礎類庫。
JRE(Java Runtime Environment)是運行Java程序所必需的環境集合。包括JVM標準做到及Java核心類庫。
1、JDK(Java Development Kit)
JDK是面向Java開發人員使用的開發工具包,提供了Java的開發環境和運行環境。是用於支持Java程序開發的最小環境。包括了Java運行環境(JRE)、工具及工具API。
2、JRE(Java Runtime Environment)
是運行基於Java語言編寫的程序所不可缺少的運行環境,也是通過它,Java的開發者才得以將自己開發的程序發布到用戶手中,讓用戶使用。JRE包括JVM、語言和工具基礎庫、集成庫、工具集等。
與大家所熟知的JDK不同,JRE是Java運行環境,並不是開發環境,所以沒有包含任何開發工具(如編譯器和調試器)。
3、JVM(Java Virtual Machine )
就是我們常說的java虛擬機,它是整個java做到跨平台的最核心的部分 ,所有的java程序首先被編譯為class的類文件,這種類文件可以在虛擬機上執行。也就是說class文件並不直接與機器的操作系統相對應,而是經過虛擬機間接與操作系統交互。JVM屏蔽了與具體操作系統平台相關的信息,使得Java程序只需在Java虛擬機上運行字節碼(目標代碼),就可以在多種平台上不加修改地運行。