JDK的安裝及相關

這裏寫圖片描述

安裝JDK時如上圖界面,

  • 開發工具
  • 源代碼
  • 公共JRE

    1. Development Tools:JDK的核心,包括編譯java程序所必須的命令工具,實際上已經包含了運行java程序的JRE
    2. Source Code:將會安裝java所有核心類庫的源代碼
    3. 不安裝公共JRE:是一個獨立的JRE系統,會向IE瀏覽器和系統中註冊java運行時環境,通過這種方式系統中任何程序都可以使用公共JRE。由於現在在網頁上執行Applet的機會越來越少,而且完全可以選擇使用JDK目錄下的JRE來運行java程序,因此沒有太大必要安裝公共JRE。

    這裏還是全部安裝,安裝後的文件夾展示:
    這裏寫圖片描述

在這2個文件夾
- jdk1.7.0_80
文件夾包含的JRE 是專用JRE
文件夾解釋說明:
- bin:存放各種工具命令,常用的java ,javac等
- db:安裝javaDB的路徑
- include:一些平臺特定的頭文件
- jre:運行java所需要的JRE環境
- lib:JDK工具命令的實際執行程序
- javafx-src.zip:Java FX所有核心類庫的源代碼
- src.zip:java所有核心類庫的源代碼
- LICENSE,README.html等說明性文檔
2. jre7
公共jre

注:專用 JRE與公共JRE 2個文件中的內容是不一樣的。

安裝時遇到的問題

  1. 找不到或無法加載主類 com.sun.tools.javac.Main
    解決辦法:當出現這個錯誤時,百度之,結果很多人都是說的環境變量設置錯誤,但是檢查了下環境變 量,沒有什麼問題。
    這時,看到錯誤信息中有javac,猜想大概是找不到javac這個文件吧,於是到jdk\bin目錄下,發現沒有javac.exe文件,上網百度
    才知道安裝jdk過程中,還會彈出一個jre的安裝,這個和jdk不能安裝在同一目錄下,否則會衝突,刪掉javac.exe文件。我之前把jdk
    安裝在D:\Java下,jre也在D:\JAVA下,於是卸載,重新安裝,,把jdk裝在D:\JAVA\JDK,jre則安裝在D:\JAVA\JRE下,再用javac編譯
    測試程序,沒有錯誤,安裝成功。
  2. load………..(待續完善)

環境變量的配置

1.JAVA_HOME: D:\Program Files\Java\jdk1.7 注:JDK目錄(bin的上一層目錄)
2.PATH: ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
3.CLASSPATH: .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一點)

path與classpath的區別:

path的作用:path是系統用來指定可執行文件的完整路徑,即使不在path中設置JDK的路徑也可執行Java文件,但必須把完整的路徑寫出來,如C:\Program Files\Java\jdk1.6.0_10\bin\javac TheClass.java。path是用來搜索所執行的可執行文件路徑的,如果執行的可執行文件不在當前目錄下,那就會依次搜索path中設置的路徑;而java的各種操作命令是在其安裝路徑中的bin目錄下,所以在path中設置了JDK的安裝目錄後就不用再把java文件的完整路徑寫出來了,它會自動去path中設置的路徑中去找;

CLASSPATH的作用: classpath是指定在程序中所使用的類(.class)文件所在的位置,就如在引入一個類時:import javax.swing.JTable這句話是告訴編譯器要引入javax.swing這個包下的JTable類,而classpath就是告訴編譯器該到哪裏去找到這個類(前提是你在classpath中設置了這個類的路徑);如果想要編譯在當前目錄下找,就加上“.”,如:.;C:\Program Files\Java\jdk,這樣編譯器就會到當前目錄和C:\Program Files\Java\jdk\去找javax.swing.JTable這個類;還提下:大多數人都是用Eclipse寫程序,不設classpath也沒關係,因爲Eclipse有相關的配置;

jdk jre 與jvm

JDK : Java Development ToolKit(Java開發工具包)。JDK是整個JAVA的核心,包括了Java運行環境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基礎的類庫(即Java API 包括rt.jar)。

最主流的JDK是Sun公司發佈的JDK,除了Sun之外,還有很多公司和組織都開發了屬於自己的JDK,例如國外IBM公司開發了屬於自己的JDK,國內淘寶也開發了屬於自己的JDK,各個組織開發自己的JDK都是爲了在某些方面得到一些提高,以適應自己的需求,比如IBM的JDK據說運行效率就比SUN的JDK高的多。但不管怎麼說,我們還是需要先把基礎的Sun JDK掌握好。

JDK有以下三種版本:

J2SE,standard edition,標準版,是我們通常用的一個版本J2EE,enterpsise edtion,企業版,使用這種JDK開發J2EE應用程序J2ME,micro edtion,主要用於移動設備、嵌入式設備上的java應用程序

我們常常用JDK來代指Java API,Java API是Java的應用程序接口,其實就是前輩們寫好的一些java Class,包括一些重要的語言結構以及基本圖形,網絡和文件I/O等等 ,我們在自己的程序中,調用前輩們寫好的這些Class,來作爲我們自己開發的一個基礎。當然,現在已經有越來越多的性能更好或者功能更強大的第三方類庫供我們使用。

JRE:Java Runtime Enviromental(java運行時環境)。也就是我們說的JAVA平臺,所有的Java程序都要在JRE下才能運行。包括JVM和JAVA核心類庫和支持文件。與JDK相比,它不包含開發工具——編譯器、調試器和其它工具。

JVM:Java Virtual Mechinal(JAVA虛擬機)。JVM是JRE的一部分,它是一個虛構出來的計算機,是通過在實際的計算機上仿真模擬各種計算機功能來實現的。JVM有自己完善的硬件架構,如處理器、堆棧、寄存器等,還具有相應的指令系統。JVM 的主要工作是解釋自己的指令集(即字節碼)並映射到本地的 CPU 的指令集或 OS 的系統調用。Java語言是跨平臺運行的,其實就是不同的操作系統,使用不同的JVM映射規則,讓其與操作系統無關,完成了跨平臺性。JVM 對上層的 Java 源文件是不關心的,它關注的只是由源文件生成的類文件( class file )。類文件的組成包括 JVM 指令集,符號表以及一些補助信息。

下圖很好的表面了JDK,JRE,JVM三者間的關係:
這裏寫圖片描述

我們開發的實際情況是:我們利用JDK(調用JAVA API)開發了屬於我們自己的JAVA程序後,通過JDK中的編譯程序(javac)將我們的文本java文件編譯成JAVA字節碼,在JRE上運行這些JAVA字節碼,JVM解析這些字節碼,映射到CPU指令集或OS的系統調用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章