Java包括三大塊   

JavaSE (Java標準版)    JavaEE(Java企業版)  JavaME(Java微型版)

Java語言特性         

 簡單性:例如C++支援多繼承,多繼承比較複雜,而Java不在支援多繼承

C++中有指標,Java中遮蔽了指標的概念

Java語言底層是C++實現的,不是C語言

面向物件:Java是純面向物件的,更符合人的思維模式。更容易理解。

可移植性:Java程式可以做到一次編譯,到處執行。

Java的可移植性也叫作跨平臺

Java不能直接執行在Windows系統上或者Linux系統上,Java是通過JDK工具中的Java虛擬機器(JVM)執行,Java程式執行在JVM上,JVM作為一箇中轉站和底層作業系統打交道。

多執行緒

健壯性:和自動垃圾回收機制有關,自動回收垃圾機制簡稱GC機制。

安全性

Java的載入和執行

                                 編譯階段    .java 原始檔  .class 位元組碼檔案      .java  -->  .class

編譯階段主要任務是檢查java源程式是否符合java語法,

符合java語法則能夠生成正常的位元組碼檔案(XXX.class),

不符合java語法規則則無法生成位元組碼檔案        (位元組碼檔案不是純粹的二進位制檔案,不能直接在作業系統上執行)

.class檔案可以拷貝到其他系統執行(跨平臺)

執行階段 

JDK安裝之後,除了自帶的一個javac.exe之外,還有一個工具/命令,叫做java.exe。java.exe命令主要負責執行階段

java.exe在哪裡用?怎麼用?

在DOS視窗中使用。               java 類名     例如: 硬碟上有一個A.class  那麼久這樣用 :  java A              A就是類名

                               硬碟上有一個B.class  那麼久這樣用 :  java B             B就是類名

不能寫成:java A.class(這是錯誤寫法)

執行階段過程:

開啟DOS視窗

           輸入java.A

java.exe命令會啟動java虛擬機器(JVM),JVM會啟動類載入器ClassLoader

ClassLoader會去硬碟上搜索A.class檔案,找到該檔案則將位元組碼檔案裝載到JVM

JVM將A.class位元組碼檔案解釋成二級制

然後作業系統執行二進位制和底層硬體平臺進行互動