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位元組碼檔案解釋成二級制
然後作業系統執行二進位制和底層硬體平臺進行互動