国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

java運行環境和運行機制

2019-11-14 22:54:00
字體:
來源:轉載
供稿:網友
java運行環境和運行機制

先來介紹三個概念:

JVM----JAVA virtual machine

  java虛擬機:對字節碼提供相同的接口,對操作系統提供不同的接口,以適應各個OS

JRE----JAVA runtime environment

java運行時環境

JDK----java SE Development kit

java 標準版開發包

這是學習java最基礎的三個概念,他們的關系如下

JDK(開發必備)-|-----JAVA 類庫
|-----JAVA編譯器
|-----JRE(運行Java必裝)-|-----JVM
|-----類加載器-|
|-----字節碼校驗器|---運行java程序的其它環境支持
|-----基礎類庫_|

如圖,平常跑跑java 程序 安裝對應的JRE即可,如果需要開發 則需要jkd,單純的jvm是沒意義的(官方也沒有對應的下載)

java從代碼到運行:

java源文件(.java 文件)----->java編譯器(使用javac編譯)----->字節碼文件(.class文件)---|

      特定平臺的機器碼(OS可以運行的)<--java虛擬機運行(使用java解釋執行)<---|

java編譯器生成的是與各個平臺無關的字節碼,這些字節碼不面向任何的平臺,他們只面向JVM,與此同時不同平臺的JVM都是不同的,但是他們都提供了相同的接口來處理字節碼,于此同時產生不同的接口對應不同的平臺(linux/win)JVM可以說就是一個轉換器。

   另外jar包:

    我們還會遇到.jar包。 jar (JavaArchiveFile 譯為java 存檔文件)。直白點說就是一個壓縮.class的zip包,但是由于他里邊包含一個文件

META-INF/MANIFEST.MF(生成jar包時就有),使得里邊的.class文件之間具有一定的結構。我們的程序就可以直接引用這些jar包(這里有點像C#中的dll文件),或者直接運行這個jar包

此處要注意

(1).java文件的名字是隨意起的,但是倘若java 文件中有public 類,則.java文件的名字必須與這個類名保持一致,所以最多只能有一個public class。

(2)1、命名時大小寫是敏感的(同時請記住,所有的關鍵字都是小寫)。

2、默認的路徑(jdk默認的路徑)是 PRogram files 中間有空格,最好選擇無空格的路徑(以及不要有中文字符,以免莫名其妙的錯誤)


環境變量:

    為什么要設置環境變量呢?

     在我們裝好jdk后,如果不設置:在我們敲入java 或者javac命令時會提示:java、javac不是內部或外部命令,也不是可以運行的程序或批處理文件。這是因為:雖然我們已經在計算機上安裝了JDK,而且JDK的路徑下野有java和javac 這兩個命令,但是計算機并不知道去哪里找這兩個命令(換句話說計算機并不知道自己有這兩個功能),所以我們需要設置一個指引(路徑),告訴OS可以去這里看看。

Path:java編譯運行工具的目錄

ClassPath:java調用需要工具類所在的地址

JAVA_Home java安裝目錄的公有名字(就是JDK的安裝目錄)


java的內存回收機制(GC)

這個與C#的大同小異,這里就不多加贅述。只簡單提下

(1)不及時回收內存--->可以用內存的數量空間就會變小--->回收的頻率就會變高--->性能下降

(2)java始終都無法強制回收內存,只能建議jvm回收。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桂林市| 横峰县| 汪清县| 舞钢市| 河北区| 桃源县| 安仁县| 岫岩| 万州区| 香港 | 临汾市| 射阳县| 白朗县| 五大连池市| 肥城市| 新丰县| 自贡市| 泸西县| 措美县| 凤冈县| 周宁县| 安新县| 杂多县| 阳谷县| 兴安盟| 双牌县| 宜川县| 汾阳市| 南平市| 揭阳市| 连山| 抚远县| 汾西县| 汽车| 玉屏| 从化市| 冕宁县| 吉林省| 延吉市| 藁城市| 泉州市|