W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
在上一篇文章中,最后提到兩個(gè)問(wèn)題, 相信讀者們已經(jīng)提前超額完成了“任務(wù)” 下面跟著筆者的思路,深入掌握J(rèn)AVA底層的運(yùn)行機(jī)制
JAVA運(yùn)行機(jī)制是貫穿整個(gè)JAVA體系根源 我們務(wù)必要了解它的底層實(shí)現(xiàn)細(xì)節(jié),筆者可通過(guò)列舉生活常例描述其原委
就像我們剛剛認(rèn)識(shí)了一位朋友一樣,我們?cè)趺礃幽軌蚋鼫?zhǔn)確的找到聊天話題呢?
此時(shí)就需要我們?nèi)チ私鈱?duì)方的性格,脾氣,愛(ài)好等一些特征
反過(guò)來(lái)講,我們知道了如何去交朋友,也就明白為什么要了解JAVA底層的運(yùn)行實(shí)現(xiàn)機(jī)制的了,
只有了解一個(gè)事物最基礎(chǔ)的特征,才能更好的相互“交流”
什么是JAVA虛擬機(jī)? JVM可以理解成為一個(gè)可以運(yùn)行java字節(jié)碼的虛擬計(jì)算機(jī)系統(tǒng)
JAVA平臺(tái) JAVA平臺(tái)是純軟件平臺(tái),包含:
java虛擬機(jī),javaapi接口(編程接口),可執(zhí)行文件是 .class(字節(jié)碼)
java應(yīng)用程序是不直接運(yùn)行在操作系統(tǒng)上,此時(shí)需要在不同的操作系統(tǒng)上部署不同的JVM(java虛擬機(jī))
JAVA編譯環(huán)境 ——& JAVA源代碼(后綴名.java文件)——&JAVA編譯器——&JAVA字節(jié)碼(后綴名.calls文件)——&字節(jié)碼& 本地或網(wǎng)絡(luò)——&JAVA平臺(tái)運(yùn)行環(huán)境——&java虛擬機(jī)——&類(lèi)裝載器字節(jié)碼驗(yàn)證——& <——JAVA類(lèi)庫(kù)
JAVA解釋器 ——& 即時(shí)編譯器 和 運(yùn)行期系統(tǒng) ——& 操作系統(tǒng) ——& 底層硬件
多看,多理解,掌握了運(yùn)行原理之后,與你的朋友分享你的對(duì)JAVA運(yùn)行機(jī)制的理解
##深入剖析 第一個(gè)Helloword 程序
筆者先將代碼拆分為三步,其解釋含義,拆分得目的是讓讀者明白JAVA語(yǔ)言結(jié)構(gòu),最后將組成JAVA語(yǔ)言基礎(chǔ)程序
/
第一個(gè)Helloword程序 關(guān)鍵字
public 修飾符 公共的
class 類(lèi) 定義類(lèi)
HelloWord 類(lèi)的名稱(chēng) 自定義
static 靜態(tài)的
void 無(wú)返回的
main 方法名稱(chēng) 主函數(shù) 程序入口(參數(shù))
/
/*
**/ public class HelloWord{
}
/*
**/ public static void main(String[] args){
}
/*
**/ System.out.println("HelloWord");
/**
1.單行注釋?zhuān)?/ 后到本行結(jié)束的所有字符會(huì)被編譯器忽略;
2.多行注釋?zhuān)? /之間的所有字符會(huì)被編譯器忽略
3.文檔注釋?zhuān)?* /之間的所有字符會(huì)被編譯器忽略,java特有的(用于生成文檔);
可簡(jiǎn)單理解為在Java程序中為了增強(qiáng)閱讀性自定義的名稱(chēng)。比如:類(lèi)名,方法名,變量名等。
(1) 由字母、數(shù)字、下劃線、$組成,不能以數(shù)字開(kāi)頭
(2) 大小寫(xiě)敏感
(3) 不得使用java中的關(guān)鍵字和保留字
(4) 不能用Java API里面的類(lèi)名作為自己的類(lèi)名。
1.JAVA語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)
2.一個(gè)java源文件里面可以定義多個(gè)java類(lèi), 但其中最多只能有一個(gè)類(lèi)被定義成public(公共的)類(lèi)
3.若源文件中包含了public類(lèi)文件,該源文件命名必須和該public類(lèi)名一致
4.一個(gè)源文件中包含了N個(gè)java 類(lèi)時(shí),編譯后會(huì)生成N份字節(jié)碼文件,即每個(gè)類(lèi)都會(huì)生成一份單獨(dú)的class文件,且字節(jié)碼文件名和氣對(duì)應(yīng)的類(lèi)名相同
5.一個(gè)源文件中只能定義一個(gè)類(lèi),不同的類(lèi)使用不同的源文件定義
6.將每個(gè)源文件中單獨(dú)定義的類(lèi)都定義成public,保持java 源文件的主文件名與源文件中的類(lèi)名一致
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: