可能剛剛接觸編程的初學(xué)者會發(fā)現(xiàn),編寫一個Java程序其實(shí)很簡單,但是Java程序的運(yùn)行過程卻是非常復(fù)雜的。關(guān)于Java程序工作原理這部分知識,雖然不要求編程學(xué)習(xí)者完全掌握,你但是至少需要了解它的大致過程。下面小編將好好介紹一下Java程序的開發(fā)與運(yùn)行原理,大致分為以下三步:編寫源文件、編譯以及運(yùn)行。
1、編寫源文件
編寫的代碼,稱為“源代碼”或“源碼”。一般情況下,我們會把源代碼保存到后綴名為.java的文本文件里,這樣的文件叫源文件。 為了方便,我們會保持文件名與類的名字一致(包括大小寫)。
2、編譯
源文件是程序員編寫的,我們能夠輕松識別每一行代碼的意思,但是,在計(jì)算機(jī)中,CPU只能識別二進(jìn)制指令。所以,現(xiàn)在要做的工作就是,需要在源文件和計(jì)算機(jī)指令之間進(jìn)行轉(zhuǎn)換。由于Java語言的結(jié)構(gòu)和特性,設(shè)計(jì)者們先將源文件轉(zhuǎn)換成一種特殊的二進(jìn)制文件,然后將這個二進(jìn)制文件交給Java運(yùn)行時環(huán)境(JRE)去執(zhí)行。轉(zhuǎn)換成二進(jìn)制文件的過程,叫做編譯(這個過程使用了 javac 命令),生成的二進(jìn)制文件,叫做字節(jié)碼文件(后綴名是 .class )。如Test.java經(jīng)過編譯就會生成Test.class。這個過程全部由Java編譯器自動完成,不需要程序員進(jìn)行任何特殊操作。
3、運(yùn)行
Java程序的開與運(yùn)行原理,并不是將字節(jié)碼文件(.class文件)簡單的交給操作系統(tǒng)去執(zhí)行,那是因?yàn)椴煌牟僮飨到y(tǒng)中數(shù)據(jù)的大小、范圍和計(jì)算方式有很大不同,會導(dǎo)致同一段代碼在不同系統(tǒng)之間運(yùn)行效果差別很大,這不是設(shè)計(jì)者們想要看到的。
Java的設(shè)計(jì)者們想到了一個聰明的辦法,就是針對不同的操作系統(tǒng),分別編寫了一個可以正確執(zhí)行Java程序的虛擬機(jī)(JVM),然后把這個虛擬機(jī)內(nèi)置到 Java 的運(yùn)行時環(huán)境(JRE)中,這樣,同一段Java代碼,就可以在不同的操作系統(tǒng)上運(yùn)行出相同的效果了。將字節(jié)碼文件(.class)交給Java運(yùn)行時環(huán)境(JRE)執(zhí)行的過程,叫做Java程序的運(yùn)行(這個過程使用了 java 命令)。
總的來說,Java程序的開發(fā)與運(yùn)行原理就是把源文件編譯成字節(jié)碼文件,然后運(yùn)行,在終端顯示結(jié)果。因此,從編寫源代碼,到程序輸出結(jié)果,這個過程看似簡單,其實(shí)需要大家學(xué)習(xí)和掌握的內(nèi)容還有很多~
-
JAVA
+關(guān)注
關(guān)注
19文章
2971瀏覽量
104853 -
程序
+關(guān)注
關(guān)注
117文章
3791瀏覽量
81156 -
源代碼
+關(guān)注
關(guān)注
96文章
2946瀏覽量
66799
發(fā)布評論請先 登錄
相關(guān)推薦
評論