更新時間:2020-08-26 15:32:51 來源:動力節點 瀏覽2564次
1.Java的垮平臺原理
JVM也是一個軟件,不同的平臺有不同的版本。我們編寫的Java源碼,編譯后會生成一種.class文件,稱為字節碼文件。Java虛擬機就是負責將字節碼文件翻譯成特定平臺下的機器碼然后運行。也就是說,只要在不同平臺上安裝對應的JVM,就可以運行字節碼文件,運行我們編寫的Java程序。
而這個過程中,我們編寫的Java程序沒有做任何改變,僅僅是通過JVM這一”中間層“,就能在不同平臺上運行,真正實現了”一次編譯,到處運行“的目的。
JVM是一個”橋梁“,是一個”中間件“,是實現跨平臺的關鍵,Java代碼首先被編譯成字節碼文件,再由JVM將字節碼文件翻譯成機器語言,從而達到運行Java程序的目的。
注意:編譯的結果不是生成機器碼,而是生成字節碼,字節碼不能直接運行,必須通過JVM翻譯成機器碼才能運行。不同平臺下編譯生成的字節碼是一樣的,但是由JVM翻譯成的機器碼卻不一樣。
所以,運行Java程序必須有JVM的支持,因為編譯的結果不是機器碼,必須要經過JVM的再次翻譯才能執行。即使你將Java程序打包成可執行文件(例如.exe),仍然需要JVM的支持。
注意:跨平臺的是Java程序,不是JVM。JVM是用C/C++開發的,是編譯后的機器碼,不能跨平臺,不同平臺下需要安裝不同版本的JVM。
2.Java中INT占幾個字節
char占2個字節
boolean一個字節(1位)
封裝、抽象、繼承和多態。
封裝:在面向對象語言中,封裝特性是由類來體現的,我們將現實生活中的一類實體定義成類,其中包括屬性和行為(在Java中就是方法).例如電腦,
抽象:抽象就是將一類實體的共同特性抽象出來,封裝在一個抽象類中,所以抽象在面向對象語言是由抽象類來體現的。比如人.
class Person{}
繼承:繼承就像是我們現實生活中的父子關系,兒子可以遺傳父親的一些特性,在面向對象語言中,就是一個類可以繼承另一個類的一些特性,從而可以代碼重用.
eg:class Zhangsan extends Person{};
多態:多態就是通過傳遞給父類對象引用不同的子類對象從而表現出不同的行為
eg:Person person=new Zhangsan();
4.裝箱和拆箱
為什么需要裝箱和拆箱:是java早年設計缺陷。基礎類型是數據,不是對象,也不是Object的子類。
裝箱就是自動將基本數據類型轉換為包裝器類型;拆箱就是自動將包裝器類型轉換為基本數據類型。
1.Integer a=Integer.valueOf(123);//裝箱
1.int b=a.intValue();//拆箱
5.==和EQUALS的區別
關于==
1.基本數據類型,也稱原始數據類型。byte,short,char,int,long,float,double,boolean他們之間的比較,應用雙等號(==),比較的是他們的值。
2.復合數據類型(類)當他們用(==)進行比較的時候,比較的是他們在內存中的存放地
equals
Java語言里的equals方法其實是交給開發者去覆寫的,讓開發者自己去定義滿足什么條件的兩個Object是equal的。
以上就是動力節點java培訓機構的小編針對“Java系統開發工程師筆試題”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習