更新時間:2020-06-20 12:49:56 來源:動力節(jié)點 瀏覽2667次
JVM、JRE和JDK的關(guān)系
JVMJava Virtual Machine是Java虛擬機(jī),Java程序需要運(yùn)行在虛擬機(jī)上,不同的平臺有自己的虛擬機(jī),因此Java語言可以實現(xiàn)跨平臺。
JREJava Runtime Environment包括Java虛擬機(jī)和Java程序所需的核心類庫等。核心類庫主要是java.lang包:包含了運(yùn)行Java程序必不可少的系統(tǒng)類,如基本數(shù)據(jù)類型、基本數(shù)學(xué)函數(shù)、字符串處理、線程、異常處理類等,系統(tǒng)缺省加載這個包
如果想要運(yùn)行一個開發(fā)好的Java程序,計算機(jī)中只需要安裝JRE即可。
JDKJava Development Kit是提供給Java開發(fā)人員使用的,其中包含了Java的開發(fā)工具,也包括了JRE。所以安裝了JDK,就無需再單獨(dú)安裝JRE了。其中的開發(fā)工具:編譯工具(javac.exe),打包工具(jar.exe)等
JVM&JRE&JDK關(guān)系圖

什么是字節(jié)碼?采用字節(jié)碼的最大好處是什么
字節(jié)碼:Java源代碼經(jīng)過虛擬機(jī)編譯器編譯后產(chǎn)生的文件(即擴(kuò)展為.class的文件),它不面向任何特定的處理器,只面向虛擬機(jī)。
采用字節(jié)碼的好處:
Java語言通過字節(jié)碼的方式,在一定程度上解決了傳統(tǒng)解釋型語言執(zhí)行效率低的問題,同時又保留了解釋型語言可移植的特點。所以Java程序運(yùn)行時比較高效,而且,由于字節(jié)碼并不專對一種特定的機(jī)器,因此,Java程序無須重新編譯便可在多種不同的計算機(jī)上運(yùn)行。
先看下java中的編譯器和解釋器:
Java中引入了虛擬機(jī)的概念,即在機(jī)器和編譯程序之間加入了一層抽象的虛擬機(jī)器。這臺虛擬的機(jī)器在任何平臺上都提供給編譯程序一個的共同的接口。編譯程序只需要面向虛擬機(jī),生成虛擬機(jī)能夠理解的代碼,然后由解釋器來將虛擬機(jī)代碼轉(zhuǎn)換為特定系統(tǒng)的機(jī)器碼執(zhí)行。在Java中,這種供虛擬機(jī)理解的代碼叫做字節(jié)碼(即擴(kuò)展為.class的文件),它不面向任何特定的處理器,只面向虛擬機(jī)。每一種平臺的解釋器是不同的,但是實現(xiàn)的虛擬機(jī)是相同的。Java源程序經(jīng)過編譯器編譯后變成字節(jié)碼,字節(jié)碼由虛擬機(jī)解釋執(zhí)行,虛擬機(jī)將每一條要執(zhí)行的字節(jié)碼送給解釋器,解釋器將其翻譯成特定機(jī)器上的機(jī)器碼,然后在特定的機(jī)器上運(yùn)行,這就是上面提到的Java的特點的編譯與解釋并存的解釋。
什么是Java程序的主類?應(yīng)用程序和小程序的主類有何不同?
一個程序中可以有多個類,但只能有一個類是主類。在Java應(yīng)用程序中,這個主類是指包含main()方法的類。而在Java小程序中,這個主類是一個繼承自系統(tǒng)類JApplet或Applet的子類。應(yīng)用程序的主類不一定要求是public類,但小程序的主類要求必須是public類。主類是Java程序執(zhí)行的入口點。
Java應(yīng)用程序與小程序之間有那些差別?
簡單說應(yīng)用程序是從主線程啟動(也就是main()方法)。applet小程序沒有main方法,主要是嵌在瀏覽器頁面上運(yùn)行(調(diào)用init()線程或者run()來啟動),嵌入瀏覽器這點跟flash的小游戲類似。

以上就是動力節(jié)點java培訓(xùn)機(jī)構(gòu)的小編針對“2020年最新Java基礎(chǔ)知識考題”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。
相關(guān)閱讀

初級 202925

初級 203221

初級 202629

初級 203743