是1995年SUN公司推出的高級程式語言,是面向互聯網的語言,WEB應用程式首選的語言(安卓底層,大數據hadoop框架用java編寫,Spark用Scala編寫,Scala用java寫的),(相對其他語言)簡單易學、安全可靠、完全物件導向、跨平台(作業系統,完全忽略作業系統,寫完後任何作業系統都可以用)。
java是透過java虛擬機器進行編譯和運行的。
Java虛擬機器是編譯和執行Java程式等的各種指令及其運作環境的總稱。 Java原始程式在編譯之後產生後綴為「.class」的文件,該文件以字節碼(bytecode)的方式進行編碼。這種字節碼其實是一種偽代碼,它包含各種指令,這些指令基本上是與平台無關的指令。 Java虛擬機在字節碼檔案(及編譯產生的後綴為.class的檔案)的基礎上解釋這些字節碼,及將這些字節碼轉行成為本地計算機的機器代碼,並交給本地計算機執行。
這樣,字節碼其實是一種與平台無關的偽代碼,透過Java指令變成在各種平台上的機器碼。這些偽代碼最終是在本機電腦平台上運作的,但Java程式就好像是在這些Java指令的基礎上運作的,因此這些Java指令的集合好像是採用軟體技術實現的一種虛擬電腦。這就是Java虛擬機器名稱的由來。
Java虛擬機執行字節碼的過程由一個循環組成,它不停地家族程序,進行合法性和安全性檢測,以及解釋執行,直到程序執行完畢(包括異常退出)。 Java虛擬機器首先從後綴為「.class」檔案中載入字節碼到記憶體中;接著在記憶體中偵測程式碼的合法性和安全性,例如,偵測Java程式用到的陣列是否越界、所要存取的內存位址是否合法等;然後解釋執行通過偵測的程式碼,以及根據不同的電腦平台將字節碼轉換成為對應的電腦平台的機器碼,再交給對應的電腦執行。如果載入的程式碼無法透過合法性和安全性檢測,則Java虛擬機器執行對應的異常處理程式。 Java虛擬機器不停地執行這個過程直到程式執行結束。雖然Java語言含有編譯指令,但是Java虛擬機器對字節碼的解釋執行機制決定了Java語言是一種解釋執行的語言。
Java虛擬機---Java Virtual Machine---JVM,針對不同的作業系統,開發了不同的Java虛擬機,一段Java程式並不是直接運行在電腦上而是運行在Java虛擬機器上,Java虛擬機器將Java程式翻譯成目前系統能夠辨識的命令。 Java語言是跨平台的,但是Java虛擬機器不是跨平台的。
J2SE---標準版
J2EE---企業版
J2ME---行動版(早期有人用,現在幾乎不用了)
JVM---Java能夠跨平台的前提
JRE---Java Runtime Environment---Java執行環境---JVM+核心類別庫
JDK---Java Development Kit---Java開發工具包---開發工具+JRE
java.sun.com
www.oracle.com
1994年叫Oak---橡樹
#後改Java---爪哇
##JDK1.0(-JDK1.1 -1.2(Applet/swing---GUI後來淘汰)-1.3-1.4-1.5(JDK5.0,十個特性)---JDK6---JDK7.0---JDK8(也可以叫1.8/十個特性)到了1.8共有3000多個類別和介面方法。
C:\\Program Files(X86)
注意:安裝路徑中不要出現空格和中文!程式碼翻譯成電腦能讀懂的語言的過程
注意:
1. class檔案的檔案名稱和類別名稱對應
3. 公共類別的類別名稱必須和Java檔案的檔案名稱一致
4. Java程式運行的入口是主函數,沒有主函數,Java程式能夠編譯
環境變數
是指為作業系統指定的一些運作參數的量
(1)新建->變數名稱
"JAVA_HOME",變數值"C:\Java\jdk1.8.0_05"(即JDK的安裝路徑)# 關鍵字 總共有53個關鍵字,其中51個在用,還有2個目前沒有使用---const、goto---保留字 用於定義資料類型的關鍵字 class # extends #implements 用於定義建立實例、判斷實例的關鍵字 instanceof #用於 #try catch throws volatile assert # C #注意:所有的關鍵字都是小寫的! 標識符 定義規則:5點 2不能使用純數字、數字不能當開頭 3不能使用關鍵字 4Java是嚴格區分大小寫的語言 5為了提高程式的閱讀性,盡量的見名知義
是指在Java中被賦予了特殊意義的單字
##interface
byte
#short
int
long
float
#double
char
boolean
void
enum
用於定義資料類型值的關鍵字
#true
false
null
#
##
用於定義
流程控制
if
else switch #case
break
default
while
#do
for
continue
public#return
#用於定義存取權限修飾符的關鍵字
#private
#protected
#
#static
#
用於定義類別、函數、變數修飾符的關鍵字
abstract
final
synchronized
#用於定義類別與類別之間關係的關鍵字
#
new this super #
的關鍵字
finally
#throw
################################################################################## # #### ###################用於套件的關鍵字##################package### #########import############ ############# ########### ###################################################################### ######## ##################其他修飾詞關鍵字##################native ############strictfp############transient###
在程式中自訂的名稱
1可以由字母、數字、_、$組成- --不建議使用$符號
以上是介紹Java的基礎原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!