1. 程式人生 > 其它 >Java-簡介和常用技巧

Java-簡介和常用技巧

一、Java入門

語言概述
1、1991年Sun公司開始研發Java語言。

2、1996年正式推出Java1.0

3、Android的應用開發層使用的語言是Java。

平臺劃分

1999年Sun根據應用的領域不同把Java技術劃歸為三個平臺,當時分別稱為J2SE、J2EE和J2SE,現在改名為Java SE、Java EE和Java ME。

Java SE

Java SE 是Java平臺標準版的簡稱(Java Platform, Standard Edition) (also known as Java 2 Platform) ,用於開發和部署桌面、伺服器以及嵌入裝置和實時環境中的Java應用程式。Java SE包括用於開發Java Web服務的類庫,同時,Java SE為Java EE提供了基礎。

Java SE(Java Platform, Standard Edition,Java標準版)就是基於JDK和JRE的。

Java EE

Java EE是Java平臺企業版的簡稱(Java Platform, Enterprise Edition),用於開發便於組裝、健壯、可擴充套件、安全的伺服器端Java應用。Java EE建立於Java SE之上,具有Web服務、元件模型、以及通訊API等特性,這些為面向服務的架構(SOA)以及開發Web2.0應用提供了支援。

Java EE基於Java SE,此外新加了企業應用所需的類庫。

Java ME

Java ME是Java微版的簡稱(Java Platform, Enterprise Edition),是一個技術和規範的集合,它為移動裝置(包括消費類產品、嵌入式裝置、高階移動裝置等)提供了基於Java環境的開發與應用平臺。Java ME目前分為兩類配置,一類是面向小型移動裝置的CLDC(Connected Limited Device Profile ),一類是面型功能更強大的移動裝置如智慧手機和及頂盒,稱為CDC(Connected Device Profile CDC)

Java ME有自己的類庫,其中CLDC使用的是專用的Java虛擬機器叫做KVM。

特點
1、語法簡明

2、面向物件

3、跨平臺

4、安全

5、多執行緒

高階語言執行機制
1、編譯語言;(具有不同效率高的特徵,典型的C++)

2、解釋語言;(直譯器負責執行的高階語言,執行的過程中逐條翻譯每條語句,由直譯器將程式翻譯成對應的語言。解釋語言不能脫落直譯器獨立執行。解釋性語言通常執行效率比較低。)

Java語言執行機制
1、編譯與解釋結合的語言。

2、.java:可直接閱讀的源程式。

3、.class:不可直接閱讀的位元組碼。

4、Java直譯器不跨平臺,.java和.class跨平臺。
在這裡插入圖片描述

二、JDK介紹

JDK包含了JRE,JRE包含了JVM

JVM 是什麼?
JVM:Java Virtual Machine(Java 虛擬機器)JVM是JRE的一部分,它是一個虛擬出來的計算機,是通過在實際的計算機上模擬模擬各種計算機功能來實現的。JVM有自己完善的硬體架構,如處理器、堆疊、暫存器等,還具有相應的指令系統。

JVM是Java實現跨平臺最核心的部分,所有的Java程式會首先被編譯為.class的類檔案,JVM的主要工作是解釋自己的指令集(即位元組碼)並對映到本地的CPU的指令集或OS的系統呼叫。Java面對不同作業系統使用不同的虛擬機器,依次實現了跨平臺。JVM對上層的Java原始檔是不關心的,它關心的只是由原始檔生成的類檔案。

JRE是什麼?
JRE:Java Runtime Environment(Java執行環境)。在Java平臺下,所有的Java程式都需要在JRE下才能執行。只有JVM還不能進行class的執行,因為解釋class的時候,JVM需要呼叫解釋所需要的類庫lib。JRE裡面有兩個資料夾bin和lib,這裡可以認為bin就是JVM,lib就是JVM所需要的類庫,而JVM和lib合起來就稱為JRE。

JRE包括JVM和JAVA核心類庫與支援檔案。與JDK不同,它不包含開發工具—-編譯器、偵錯程式和其它工具。

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

Java API是Java的應用程式介面,裡面有很多已經寫好的Java Class,包括一些重要的語言結構以及基本圖形,網路和檔案I/O等等,我們可以直接呼叫使用。

現在已經有很多版本的JDK,除了Sun公司,還有很多公司都開發了屬於自己的JDK,如IBM、淘寶等。據說IBM的JDK執行效率比Sun的還要高,但是不管怎麼說還是先把基礎的Sun JDK學好。
總結:

有JVM就可以解釋執行位元組碼檔案(.class).
JVM解釋執行這些位元組碼檔案的時候需要呼叫類庫,如果沒有這些類庫JVM就不能正確的執行位元組碼檔案,JVM+類庫=JRE,
有了JRE就可以正確的執行java程式了,但是光有JRE不能開放Java程式,所以JRE+開發工具=JDK,有了JDK,就可同時開發,執行JRE.

兩個JRE,都有什麼作用?
我們平時開發Java程式的時候,都會同時安裝JDK和JRE:

JDK裡面的JRE安裝路徑:D:\dev\java\jdk1.8.0_91\jre
JDK外面的JRE安裝路徑:D:\dev\java\jre1.8.0_91

JDK裡面的JRE是JDK自帶的為其開發工具提供執行環境的JRE,在JDK中有很多用Java編寫的開發工具(如: javac.exe、jar.exe),這些工具的實現程式碼在JDK下面的lib目錄下的tools.jar中,也就是路徑:D:\dev\java\jdk1.8.0_91\lib\tools.jar裡面。

JDK外面JRE用於為Java程式提供執行環境。

兩個JRE的異同
相同點:這兩個JRE都可以作為開發Java程式的執行環境。
不同點:JDK自帶的開發工具只能使用JDK自己目錄下的JRE,不能使用JDK外面的JRE。

實際開發情況
我們開發的實際情況是:我們利用JDK(呼叫本地的API)開發屬於自己的JAVA程式後,通過JDK中的編譯程式(javac)將我們的文字java檔案編譯成JAVA位元組碼,在JRE上執行這些JAVA位元組碼,JVM解釋這些位元組碼,對映到CPU指令集或OS的系統呼叫。

三、設定環境變數

什麼是環境變數????

環境變數是一個具有特定名字的物件,它包含了一個或者多個應用程式將應用到的資訊。

為什麼使用環境變數???

設定在環境變數中應用程式可以在任意路徑下被呼叫。

Windows 10 配置Java 環境變數