JDK JRE JVM區別與聯絡

2022-09-20 12:33:12 字數 924 閱讀 3683

jdk:j**a development kit,j**a 開發工具包。jdk 是整個 j**a 開發的核心,它整合了 jre 和一些好用的小工具。例如:j**ac,j**a,j**adoc,jar 等。

jre:j**a runtime environment,j**a 執行時環境,主要包含兩個部分,jvm 的標準實現和 j**a 的一些基本類庫。它相對於 jvm 來說,多出來一部分的 j**a 類庫。

jvm:j**a virtual machine,jvm 是 j**a 能夠跨平台的核心,實現一次編寫,多處執行(write once,run anywhere)

三者關係可用如下圖表示:

這三者的關係是:一層層的包含關係。jdk>jre>jvm

在jdk下面的的jre目錄裡面有兩個資料夾bin和lib,在這裡可以認為bin裡的就是jvm,lib中則是jvm工作所需要的類庫,而jvm和 lib和起來就稱為jre。jvm+lib=jre。總體來說就是,我們利用jdk(呼叫j**a api)開發了j**a程式後,通過jdk中的編譯程式(j**ac)將我們的文字j**a檔案編譯成j**a位元組碼,在jre上執行這些j**a位元組碼,jvm解析這些位元組碼,對映到cpu指令集或os的系統呼叫。

區別: jdk和jre乙個是開發環境,乙個是執行環境。在bin資料夾下會發現,jdk有j**ac.exe而jre裡面沒有,j**ac指令是用來將j**a檔案編譯成class檔案的,這是開發者需要的,而使用者(只需要執行的人)是不需要的。jdk還有jar.exe, j**adoc.exe等等用於開發的可執行指令檔案。 jvm不能單獨搞定class的執行,解釋class的時候jvm需要呼叫解釋所需要的類庫lib。

LDO DCDC聯絡與區別

dcdc的意思是直流變 到 直流 不同直流電源值的轉換 只要符合這個定義都可以叫dcdc 轉換器,包括ldo。但是一般的說法是把直流變 到 直流由開關方式實現的器件叫dcdc。ldo是低壓降的意思,這有一段說明 低壓降 ldo 線性穩壓器的 成本低,噪音低,靜態電流小,這些是它的突出優點。它需要的外...

CISC RISC ARM MIPS區別與聯絡

當今處理器一共有三個最強大的架構,其中之一是以intel和amd為代表的x86架構 cisc 另外乙個是手機 平板處理器所使用的arm架構 risc 最後乙個便是我國龍芯處理器所選擇的mips架構 risc cisc是複雜指令集cpu,內部為將較複雜的指令解碼,也就是指令較長,分成幾個微指令去執行,...

stlen sizeof聯絡與區別

include stdio.h include string.h int main 程式執行的結果是strlen aa 15 sizeof aa 10,這是怎麼回事呢?strlen是有效字串的長度,不含 0 與初始化有關係,而sizeof與初不初始化無關係,下面看看他們區別吧 strlen char...