Java基礎(chǔ)入門系列_Java的編譯階段

有不少Java零基礎(chǔ)小白私密過(guò)我問(wèn)過(guò)一些Java方面的問(wèn)題,很讓我糾結(jié)的是永遠(yuǎn)是知其然不知其所以然,學(xué)習(xí)Java難道就是操刀子直接上嗎?不是的!于是我就決定今天講述一下,Java的編譯這方面的東西!

Java開發(fā)中有倆個(gè)重要的階段,編譯階段和運(yùn)行階段,其實(shí)說(shuō)白了就是寫了一個(gè)方案,然后讓電腦去執(zhí)行這個(gè)方案,但是寫的這個(gè)方案要讓電腦去看明白。
編寫Java程序的時(shí)候,需要?jiǎng)?chuàng)建一個(gè)文件,這個(gè)文件后綴名是以.Java命名的。這個(gè)就是源文件也就算是程序員們常說(shuō)的源代碼。這就是我們學(xué)習(xí)Java中最基本的一些東西,叫做Java語(yǔ)法,也就是之前在上回書說(shuō)的高級(jí)語(yǔ)言。

但是這個(gè).Java文件是沒(méi)有辦法被電腦直接運(yùn)行的,想要運(yùn)行需要檢查這個(gè).Java這個(gè)文件編寫的是否正確,是否符合Java語(yǔ)法,進(jìn)過(guò)檢查如果沒(méi)有出現(xiàn)問(wèn)題,那么這個(gè)文件通過(guò)JDK編譯器就會(huì)生成一個(gè)以.class為后綴名的文件,這個(gè)文件就是字節(jié)碼文件(下面我會(huì)單獨(dú)拿出來(lái)說(shuō))。如果要是有問(wèn)題則不會(huì)生成字節(jié)碼文件。 然而這個(gè)過(guò)程就是Java編譯的過(guò)程。
字節(jié)碼生成是Javac編譯過(guò)程的最后一個(gè)階段。
字節(jié)碼生成階段不僅僅是把前面各個(gè)步驟所生成的信息轉(zhuǎn)化成字節(jié)碼寫到磁盤中,編譯器還進(jìn)行了少量的代碼添加和轉(zhuǎn)換工作。
如果用戶代碼中沒(méi)有提供任何構(gòu)造函數(shù),那編譯器會(huì)自動(dòng)添加一個(gè)沒(méi)有參數(shù)、訪問(wèn)權(quán)限與當(dāng)前類一致的默認(rèn)構(gòu)造函數(shù),這個(gè)工作在填充符號(hào)表階段就已經(jīng)完成了。
Java代碼的編譯期是在系統(tǒng)環(huán)境中完成,下面是基本操作
1、安裝JDK,配置環(huán)境
2、在硬盤的某個(gè)位置創(chuàng)建一個(gè)xxx.java源文件
3、打開源文件,在該文件當(dāng)中編寫符合java語(yǔ)法的源程序,然后保存。
4、執(zhí)行javac命令完成編譯操作,如果編譯成功,會(huì)在電腦的硬盤上生成一個(gè).class文件
別忘記點(diǎn)波關(guān)注哦!