1.Java語言有哪些特點(diǎn)
Java語言是一種跨平臺、適合于分布式計算環(huán)境的面向?qū)ο蟮木幊陶Z言浆西。它具有的特點(diǎn)有很多粉私,如簡單性、面向?qū)ο蠼恪⒎植际脚岛恕⒔忉屝汀⒖煽啃悦氤唷踩灾硭病⑵脚_無關(guān)性、可移植性入篮、高性能陈瘦、多線程、動態(tài)性等潮售。
2.什么是Java虛擬機(jī)
3.什么是字節(jié)碼痊项?采用自解碼的最大的好處是什么?
4.什么是平臺無關(guān)性酥诽?JAVA語言是怎樣實(shí)現(xiàn)平臺無關(guān)性的鞍泉?
大部分計算機(jī)語言程序都必須先經(jīng)過編譯(compile)或解釋(interpret)的操作后,才能在計算機(jī)上運(yùn)行肮帐,例如C/C++等是屬于編譯型的語言咖驮,而Basic與Lisp等則是屬于解釋性的語言。然而训枢,Java程序(.java文件)卻比較的特殊托修,他必須先經(jīng)過編譯的過程,然后再利用解釋的方式來運(yùn)行恒界。通過編譯器(compiler)睦刃,Java程序會被轉(zhuǎn)成與平臺無關(guān)(platform-independent)的機(jī)器碼,Java稱之為“字節(jié)碼(byte-code)”十酣,字節(jié)碼文件的擴(kuò)展名為.class涩拙。通過Java的解釋器(interpreter)便可解釋并運(yùn)行Java的字節(jié)碼文件际长。
字節(jié)碼是Java虛擬機(jī)(Java Virtual Machine,JVM)的指令組,和CPU上的微指令碼很相像兴泥。它的形式為“<操作碼><操作數(shù)>”工育,其中操作碼就是指令碼。JAVA語言編譯成字節(jié)碼后文件尺寸較小郁轻,便于網(wǎng)絡(luò)傳輸翅娶。
字節(jié)碼最大的好處就是可跨平臺運(yùn)行文留,即Java的字節(jié)碼可以編寫一次好唯,到處運(yùn)行。用戶使用任何一種Java編譯器將Java源程序(.java)編譯成字節(jié)碼文件(.class)后燥翅,無論使用哪種操作系統(tǒng)骑篙,都可以是在含有JVM的平臺上運(yùn)行。這種跨平臺的特性森书,也是讓Java語言極速普及的原因之一靶端。
任何一種可以運(yùn)行Java字節(jié)碼的軟件均可以看成是Java的“虛擬機(jī)”,如瀏覽器與Java開發(fā)工具等皆可以視為一個JVM凛膏。很自然的杨名,可以把Java的字節(jié)碼看成是JVM上所運(yùn)行的機(jī)器碼(machine code),即JVM中的解釋器負(fù)責(zé)將字節(jié)碼解釋成本地的機(jī)器碼猖毫。所以從底層上看台谍,JVM就是以Java字節(jié)碼為指令組的“軟CPU”。也就是說吁断,JVM是可運(yùn)行Java字節(jié)碼的假想計算機(jī)趁蕊。它的作用類似于Windows操作系統(tǒng),只不過在Windows上運(yùn)行的是.exe文件仔役,而在JVM上運(yùn)行的是Java字節(jié)碼文件掷伙,也就是擴(kuò)展名為.class的文件。JVM其實(shí)就是一個字節(jié)碼解釋器又兵。
5.Java語言程序有哪幾種任柜?它們包含哪幾個方面?
使用Java語言可以編寫兩種類型的程序:Application(應(yīng)用程序)和Applet(小程序)沛厨。這兩種程序的開發(fā)原理是相同的宙地,但是在運(yùn)行環(huán)境和計算結(jié)構(gòu)上卻有著顯著的不同。
應(yīng)用程序是從命令行運(yùn)行的程序俄烁,它可以在Java平臺上獨(dú)立運(yùn)行绸栅,通常稱之為Java應(yīng)用程序。Java應(yīng)用程序是獨(dú)立完整的程序页屠,在命令行調(diào)用獨(dú)立的解釋器軟件即可運(yùn)行粹胯。另外蓖柔,Java應(yīng)用程序的主類必須包含有一個定義為public static void main(String[] args)的主方法,這個方法是Java應(yīng)用程序的標(biāo)志风纠,同時也是Java應(yīng)用程序的執(zhí)行入口點(diǎn)况鸣,也就是說在應(yīng)用程序中包含有main()方法的類一定是主類,但是主類并不一定要求是public類竹观。
小程序是嵌入在HTML(超文本標(biāo)記語言)文檔中的Java程序镐捧,需要搭配瀏覽器來運(yùn)行,因此稱為小程序臭增。由此可見懂酱,當(dāng)運(yùn)行一個Java小程序時,同時還要為它編寫一個HTML文件誊抛,然后再www瀏覽器中運(yùn)行這個HTML文件列牺,就可以激活瀏覽器中Java解釋器。另外拗窃,也可以調(diào)用一些能夠模擬瀏覽器環(huán)境并執(zhí)行Java小程序的軟件來直接運(yùn)行Java小程序瞎领。由于瀏覽器受安全控制的限制,所以Java小程序一般使用模擬瀏覽器環(huán)境的軟件來執(zhí)行随夸。
6.什么是Java程序的主類九默?應(yīng)用程序與小程序的主類有何不同?
無論是應(yīng)用程序還是小程序都必須有一個主類宾毒,主類是程序執(zhí)行的起始點(diǎn)驼修。
小程序的主類(程序執(zhí)行的入口點(diǎn))必須是一個繼承自系統(tǒng)類JApplet或者Applet的子類,且該類必須是public類伍俘;而Java應(yīng)用程序的主類邪锌,必須是包含有主方法的main()的類,但應(yīng)用程序的主類并不一定是public類癌瘾。