更新時間:2020-08-26 15:32:51 來源:動力節(jié)點 瀏覽2963次
1.Java的垮平臺原理
JVM也是一個軟件,不同的平臺有不同的版本。我們編寫的Java源碼,編譯后會生成一種.class文件,稱為字節(jié)碼文件。Java虛擬機就是負責將字節(jié)碼文件翻譯成特定平臺下的機器碼然后運行。也就是說,只要在不同平臺上安裝對應的JVM,就可以運行字節(jié)碼文件,運行我們編寫的Java程序。
而這個過程中,我們編寫的Java程序沒有做任何改變,僅僅是通過JVM這一”中間層“,就能在不同平臺上運行,真正實現(xiàn)了”一次編譯,到處運行“的目的。
JVM是一個”橋梁“,是一個”中間件“,是實現(xiàn)跨平臺的關鍵,Java代碼首先被編譯成字節(jié)碼文件,再由JVM將字節(jié)碼文件翻譯成機器語言,從而達到運行Java程序的目的。
注意:編譯的結果不是生成機器碼,而是生成字節(jié)碼,字節(jié)碼不能直接運行,必須通過JVM翻譯成機器碼才能運行。不同平臺下編譯生成的字節(jié)碼是一樣的,但是由JVM翻譯成的機器碼卻不一樣。
所以,運行Java程序必須有JVM的支持,因為編譯的結果不是機器碼,必須要經過JVM的再次翻譯才能執(zhí)行。即使你將Java程序打包成可執(zhí)行文件(例如.exe),仍然需要JVM的支持。
注意:跨平臺的是Java程序,不是JVM。JVM是用C/C++開發(fā)的,是編譯后的機器碼,不能跨平臺,不同平臺下需要安裝不同版本的JVM。
2.Java中INT占幾個字節(jié)
char占2個字節(jié)
boolean一個字節(jié)(1位)
封裝、抽象、繼承和多態(tài)。
封裝:在面向對象語言中,封裝特性是由類來體現(xiàn)的,我們將現(xiàn)實生活中的一類實體定義成類,其中包括屬性和行為(在Java中就是方法).例如電腦,
抽象:抽象就是將一類實體的共同特性抽象出來,封裝在一個抽象類中,所以抽象在面向對象語言是由抽象類來體現(xiàn)的。比如人.
class Person{}
繼承:繼承就像是我們現(xiàn)實生活中的父子關系,兒子可以遺傳父親的一些特性,在面向對象語言中,就是一個類可以繼承另一個類的一些特性,從而可以代碼重用.
eg:class Zhangsan extends Person{};
多態(tài):多態(tài)就是通過傳遞給父類對象引用不同的子類對象從而表現(xiàn)出不同的行為
eg:Person person=new Zhangsan();
4.裝箱和拆箱
為什么需要裝箱和拆箱:是java早年設計缺陷。基礎類型是數(shù)據(jù),不是對象,也不是Object的子類。
裝箱就是自動將基本數(shù)據(jù)類型轉換為包裝器類型;拆箱就是自動將包裝器類型轉換為基本數(shù)據(jù)類型。

1.Integer a=Integer.valueOf(123);//裝箱
1.int b=a.intValue();//拆箱
5.==和EQUALS的區(qū)別
關于==
1.基本數(shù)據(jù)類型,也稱原始數(shù)據(jù)類型。byte,short,char,int,long,float,double,boolean他們之間的比較,應用雙等號(==),比較的是他們的值。
2.復合數(shù)據(jù)類型(類)當他們用(==)進行比較的時候,比較的是他們在內存中的存放地
equals
Java語言里的equals方法其實是交給開發(fā)者去覆寫的,讓開發(fā)者自己去定義滿足什么條件的兩個Object是equal的。

以上就是動力節(jié)點java培訓機構的小編針對“Java系統(tǒng)開發(fā)工程師筆試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。