首頁  >  文章  >  Java  >  介紹Java的基礎原理

介紹Java的基礎原理

零下一度
零下一度原創
2017-07-16 16:56:201544瀏覽

Java

是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虛擬機器不是跨平台的。

Java的技術結構

J2SE---標準版

J2EE---企業版

J2ME---行動版(早期有人用,現在幾乎不用了)

JDK/JRE/JVM

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檔案的檔案名稱和類別名稱對應

2.每一個類別編譯完成之後都會產生一個class檔案

3. 公共類別的類別名稱必須和Java檔案的檔案名稱一致

4. Java程式運行的入口是主函數,沒有主函數,Java程式能夠編譯

 

環境變數

是指為作業系統指定的一些運作參數的量

(1)新建->

變數名稱

"JAVA_HOME",變數值"C:\Java\jdk1.8.0_05"(即JDK的安裝路徑) 

(2)編輯->變數名稱"Path",在原變數值的最後面加上「;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin」 

(3)新建->變數名稱「CLASSPATH」,變數值「.;%JAVA_HOME%\lib;%JAVA_HOME% \lib\dt.jar;%JAVA_HOME%\lib\tools.jar」

關鍵字
是指在Java中被賦予了特殊意義的單字

總共有53個關鍵字,其中51個在用,還有2個目前沒有使用---const、goto---保留字

## 用於定義ifelseswitch#casebreakpublic#static#用於定義類別與類別之間關係的關鍵字  # newthissuper#  的關鍵字finally#throw

用於定義資料類型的關鍵字

class

##interface

byte

#short

int

long

float

#double

char

boolean

void

enum

用於定義資料類型值的關鍵字

#true

false

null

 

流程控制

的關鍵字

default

while

#do

for

continue
#return

 

#用於定義存取權限修飾符的關鍵字

#private

#protected

 

用於定義類別、函數、變數修飾符的關鍵字

abstract

final

synchronized

 

extends

#implements

 

用於定義建立實例、判斷實例的關鍵字

instanceof

#用於

異常處理

#try

catch

throws

################################################################################## # #### ###################用於套件的關鍵字##################package### #########import############ ############# ########### ###################################################################### ######## ##################其他修飾詞關鍵字##################native ############strictfp############transient###

volatile

assert

C

 

 

 

 

 

## 

 

#注意:所有的關鍵字都是小寫的!

標識符

在程式中自訂的名稱

定義規則:5點

1可以由字母、數字、_、$組成- --不建議使用$符號

2不能使用純數字、數字不能當開頭

3不能使用關鍵字

4Java是嚴格區分大小寫的語言

5為了提高程式的閱讀性,盡量的見名知義

###支援中文命名,但是不推薦######class A{}#######class a{} 可以這樣寫,但是windows不允許,windows不區分大小寫######駝峰命名法######類別名稱/介面名稱######如果由多個單字組成,每個單字的縮寫  HelloWorld######變數名/方法名稱######如果由多個單字組成,第一個單字的縮寫,其餘單字的縮寫  playGame## ####套件名稱######如果由多個單字組成,所有字母全部小寫,中間用. 隔開#######常數名######如果由多個單字組成,所有字母全部大寫,中間用_隔開######註解######在程式中用來解釋或說明程式的文字######格式######//註解文字   單行註解######   /*&*/  多行註解######  /**&*/  文件註解---常用於註解類別、方法或常數## ####javadoc -d .\\document Demo.java---這個指令只能用來提取公共類別中文件註解的內容###

以上是介紹Java的基礎原理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn