wordpress qq登錄seo顧問(wèn)咨詢
目錄
Java基礎(chǔ)常見(jiàn)面試題(上)
1.JDK?JRE?JVM?
2.為什么說(shuō)Java語(yǔ)言是“編譯與解釋并存”?
3.Java基本數(shù)據(jù)類型
4.基本類型和包裝類型的區(qū)別
5.包裝類型的緩存機(jī)制
6.自動(dòng)裝箱與拆箱了解嗎?原理是什么?
7.為什么浮點(diǎn)數(shù)運(yùn)算的時(shí)候會(huì)有精度丟失的風(fēng)險(xiǎn)?
8.如何解決浮點(diǎn)數(shù)運(yùn)算的精度丟失問(wèn)題?
9.超過(guò) long 整型的數(shù)據(jù)應(yīng)該如何表示?
Java基礎(chǔ)常見(jiàn)面試題(上)
1.JDK?JRE?JVM?
JDK包含JRE,JRE包含JVM
JDK是提供給開發(fā)者的工具,包含創(chuàng)建和編譯Java程序、調(diào)試、注釋工具等等...
JRE是Java運(yùn)行時(shí)環(huán)境,僅包含Java應(yīng)用程序的運(yùn)行時(shí)的環(huán)境和必要的類庫(kù)。
JVM是運(yùn)行Java字節(jié)碼的虛擬機(jī),做到使用相同的結(jié)果,字節(jié)碼(.class文件)和不同系統(tǒng)的JVM實(shí)現(xiàn)是Java語(yǔ)言‘一次編譯,多處運(yùn)行’的關(guān)鍵所在。
2.為什么說(shuō)Java語(yǔ)言是“編譯與解釋并存”?
編譯型:將源代碼一次性翻譯成機(jī)器碼。
解釋型:將源代碼一句一句的解釋為機(jī)器代碼后執(zhí)行。
Java程序要先編譯后解釋,先經(jīng)過(guò)編譯生成字節(jié)碼,然后字節(jié)碼由Java解釋器來(lái)解釋執(zhí)行。
3.Java基本數(shù)據(jù)類型
整數(shù)型:byte(1)、short(2)、int(4)、long(8)
浮點(diǎn)型:float(4)、doule(8)
字符類型:char(2)
布爾類型:boolean
4.基本類型和包裝類型的區(qū)別
用途:基本類型定義常量或局部變量。包裝類型做方法參數(shù)、對(duì)象屬性。并且包裝類型可用于泛型,基本類型不可以。
存儲(chǔ)方式:
占用空間:
默認(rèn)值:
比較方式:
5.包裝類型的緩存機(jī)制
重點(diǎn)看代碼示例,創(chuàng)建后判斷相等(因?yàn)榫彺婵赡苡玫氖且粋€(gè)常量)
6.自動(dòng)裝箱與拆箱了解嗎?原理是什么?
裝箱:將基本類型用它們對(duì)應(yīng)的引用類型包裝起來(lái);
拆箱:將包裝類型轉(zhuǎn)換為基本數(shù)據(jù)類型;
7.為什么浮點(diǎn)數(shù)運(yùn)算的時(shí)候會(huì)有精度丟失的風(fēng)險(xiǎn)?
8.如何解決浮點(diǎn)數(shù)運(yùn)算的精度丟失問(wèn)題?
BigDecimal
9.超過(guò) long 整型的數(shù)據(jù)應(yīng)該如何表示?
BigInteger
?內(nèi)部使用?int[]
?數(shù)組來(lái)存儲(chǔ)任意大小的整形數(shù)據(jù)。