Java基礎–JDK的安裝和配置弄懂 JRE、JDK、JVM 之間的區別與聯繫

  • 2019 年 10 月 8 日
  • 筆記

一、Java平台簡述

1.1 Java語言簡介

  Java是一門面向對象的程式語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象程式語言的代表,極好地實現了面向對象理論允許程式設計師以優雅的思維方式(思想很重要)進行複雜的編程。Java具有簡單性、面向對象、分散式、健壯性、安全性、平台獨立與可移植性、動態性特點。Java可以編寫桌面應用程式、Web應用程式、分散式系統和嵌入式系統應用程式等。

Java要實現「編寫一次」到處運行的目標,就必須提供相應的Java運行環境,既運行Java程式的平台。Java平台按照功能和特性的不同分為三種,分別是:

  • Java SE(Java Standrad Edition)稱為Java標準版,Java SE 支援開發Java桌面應用程式和低端的伺服器應用程式,提供了標準的Java Development Kit和Java API。
  • Java ME(Java Micro Edition)稱為Java行動版,Java ME支援Java運行在嵌入式平台和移動終端平台,對Java API有所精簡,並加入了嵌入式平台和移動終端的支援。
  • Java EE(Java Enterprise Edition)稱為Java企業版,Java EE支援構建企業級服務應用,Java EE在Java SE的基礎上增加了大量附加類庫,對Java API做了大量的擴充,以便支援目錄管理,交易管理,企業級消息處理等功能。

1.2 Java運行機制

  我們編寫好一份java程式碼後,運行過程如下圖。首先我們編寫的Java程式碼是後綴為.java的文件,運行的過程分為兩步:編譯和運行。

  • 編譯是將.java文件進行處理,得到一份虛擬機能識別的統一規範的一份.class文件
  • 運行是將.class文件在虛擬機上運行得出結果,虛擬機運行是依靠當前設備的,所以運行Java程式的運行時環境是根據不同設備有不同版本的,因此我們再安裝Java開發環境時需要選擇對應的版本和型號

1.3 Java體系架構

Java體系架構圖如下,主要包含兩部分:Java API和虛擬機。其中Java APIJava API主要是在運行時調用java API中的程式碼所實現的功能。虛擬機就是Java運行的環境,這裡分為JDK和JRE兩種,還有一個JVM的概念大家都熟悉的,這裡簡單做一個區分,從圖中可以看出,JDK、JRE、JVM的關係是:JDK>JRE>JVM

  • JVM :英文名稱(Java Virtual Machine),就是我們耳熟能詳的 Java 虛擬機。它只認識 xxx.class 這種類型的文件,它能夠將 class 文件中的位元組碼指令進行識別並調用作業系統向上的 API 完成動作。所以說,jvm 是 Java 能夠跨平台的核心,具體的下文會詳細說明。
  • JRE :英文名稱(Java Runtime Environment),我們叫它:Java 運行時環境。它主要包含兩個部分,JVM 的標準實現和 Java 的一些基本類庫。它相對於 JVM 來說,多出來的是一部分的 Java 類庫。
  • JDK :英文名稱(Java Development Kit),Java 開發工具包。jdk 是整個 Java 開發的核心,它集成了 JRE 和一些好用的小工具。例如:javac.exe,java.exe,jar.exe 等。

  關於JDK、JRE之間的區別詳細可以參考下文:弄懂 JRE、JDK、JVM 之間的區別與聯繫

二、JDK的安裝和配置

  運行Java文件只需要JRE就OK了,但是我們要進行Java開發就需要進行編譯、運行等工作,這一部分工作就必須需要JDK中的一些小工具才能完成。所以我們在進行Java開發時一般都是安裝JDK。下面我們就一起來看一下JDK的安裝過程。

2.1 JDK的下載

JDK是個免費的工具,所以大家不要去百度啥破解版了,直接去官網下載最新版本吧,比較安全。

  1、官網地址:https://www.oracle.com/index.html,在首頁點擊download,進入下載選擇介面,在下載選擇介面往下翻,找到下載分類列表,選擇Java大類,然後在Java大類的下載選擇中點擊 Java (JDK) for Developers 進入JDK的下載選擇介面

  或者直接通過網址https://www.oracle.com/technetwork/java/javase/downloads/index.html直接進入JDK的下載選擇介面,進入第2步

  2、版本是在隨時更新的,也許過了幾個月之後網頁的介面和版本又不同了,圖中我淺綠色圈中了我將要下載的JDK版本,我這裡選擇的是Java標準版。大家經常看到的Java EE,那是企業版,個人而言,下個標準版的就行了。點擊之後,就會進入下載介面。

3、在下載介面我們首先要接受下載協議,然後選擇對應系統的下載鏈接進行下載。一般我們用的都是windows系統,其中x86是32位的,x64是64的,根據你自己的系統選擇相應的下載,如我現在用的是64的系統,所以我選擇windows x64後面的下載鏈接,點擊之後,立即下載吧!

  下載部分就到這裡了,夠詳細吧,接下來就看你網速了…

2.2 JDK的安裝

  JDK下載完成之後,我們就要開始安裝。JDK的安裝相對而言非常流程化,首先,我們雙擊下載的JDK開始安裝,首先會進入引導頁面,直接Next

  在這裡建議修改默認安裝路徑,當然也可以不修改。如果更改路徑最好不要放在中文或者帶空格的目錄下,以免將來出現奇奇怪怪的問題。

  我是修改了默認路徑,直接將默認路徑C:Program FilesJavajdk1.8.0_131 改為 C:Javajdk1.8.0_131,修改後點擊確定回到上一步的介面,點擊下一步就開始安裝了,安裝很快滴,期間會彈出個這樣的東東。

  JDK安裝完成後,彈出下圖的介面。這是要我們安裝JRE,JRE是Java的運行環境,包括了JVM等一些Java的運行環境,聽起來是不是很重要!但是,在我們安裝的JDK裡面已經有了JRE了,所以,講了這麼多廢話,就是這裡可以選擇取消,對以後的開發工作一點都不影響。當然,裝了也沒關係滴,如果安裝的話建議直接用默認的安裝目錄就行了,當然也可以修改目錄進行安裝。

  然後直接下一步,等待安裝完成即可。

2.3 環境變數的配置

  環境變數一般指在作業系統中用來指定作業系統運行環境的一些參數。其實這句話也不是很好理解,來舉個例子吧。如path,當要求系統運行一個程式而沒有告訴它程式所在的完整路徑時,系統除了在當前目錄下面尋找此程式外,還會到path中指定的路徑去找。通俗的講,你要的東西我這裡沒有,怎麼辦呢,那就去path里說的地兒找找吧。

  在我們編譯程式時,我們需要用到javac這個編譯工具,而javac是在java的安裝目錄下的,當我們在其他目錄調用javac時,系統因為在當前目錄找不到就會報錯,為了方便我們以後編譯程式,不要每次編譯的時候就跑到java安裝目錄中去,所以我們需要來設置環境變數。   簡單了解了環境變數,下面直接上圖:右擊我的電腦–>屬性–>高級系統設置–>環境變數

  點擊"系統變數"下的新建(別點錯了,好多人這裡【新建】點擊到上面用戶變數的【新建】了,這裡應該是下面系統變數的【新建】),變數名:JAVA_HOME,變數值:你的java所在路徑,如這是我的安裝路徑:C:Javajdk1.8.0_131 。這個變數名JAVA_HOME是可以隨便取的,不過大家都這麼叫,我們也跟著來吧,大小寫都無所謂,不過據說大寫是為了好區分。

  完成之後,在系統變數中找到Path–>雙擊–>在最前面添加 【%JAVA_HOME%bin;%JAVA_HOME%jrebin;】,中括弧裡面的分號不能少,而且必須是英文的分號。Path是系統自帶的,不用新建,直接在系統變數下面找到雙擊或者選中點擊下面的編輯也可以。(這裡的JAVA_HOME應該和我們上一步中新建的變數名保持一致就OK了)

  我來解釋下%%這玩意的作用:動態的獲取某一個已存在的環境變數的值。%JAVA_HOME%就表示了我們的安裝路徑,以後如果我們的安裝路徑改變,只需要在JAVA_HOME的值中改變相應路徑就行了,不需要每次都跑到path中去改動,我們知道path中已經存在很多的值了,如果不小心將其刪掉或者改變,系統中的某些程式就不能正常運行了,所以為了不出現這樣的失誤,我們用%JAVA_HOME%來代替可能需要變動的路徑,方便我們的操作,也使得看起來更加明了。

  在這裡,還有一個環境變數是要設置的,那就是classpath,這個我需要我們自己新建的,class在Java中是一個關鍵字,表示一個類,classpath是用來指定Java中類或者包所在的路徑,在以後的學習中,我們還需要JVM去尋找Java中的庫,這也是需要用classpath來指定路徑的,總的來說,這是方便我們的JAVA虛擬機去尋找相應的類文件,JVM會按照classpath環境變數指定的地址依次尋找,已最先找到的為準,所以一般我們將其值設為(參考的度娘):.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar最前面有個點,代表的是當前路徑,最後面最好不加分號,原因在以後的學習中會遇到的。

點擊系統變數下的【新建】,創建一個系統變數,變數名:classpath,變數值:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar 最前面有個點,代表的是當前路徑,一定要加上

到此為止,JDK的安裝及配置全部結束,下面來檢測一下,安裝是否成功。

2.4 環境配置的驗證

  究竟是不是設置好了,還需要我們去檢驗下,方法:快捷鍵win+R——>輸入cmd——>輸javac和java

  在命令行介面輸入javac和java分別出現上面的結果就表明我們的JDK安裝和環境變數的配置沒有任何問題。接下來可以開始我們的Java學習之旅了!!!!!

  如果輸入java時沒有問題,但是輸入javac時報錯了,那很可能是JDK安裝成功,但是環境變數配置出問題了,就要回過頭去好好檢查一下環境變數的配置參數情況了。