sponsored links

上班第一天給大家準備的大禮包--Java基礎面試題整理

面向物件的三個特徵

封裝,繼承,多型.這個應該是人人皆知.有時候也會加上抽象.

多型的好處

允許不同類物件對同一訊息做出響應,即同一訊息可以根據傳送物件的不同而採用多種不同的行為方式(傳送訊息就是函式呼叫).主要有以下優點:

可替換性:多型對已存在程式碼具有可替換性.

可擴充性:增加新的子類不影響已經存在的類結構.

介面性:多型是超類透過方法簽名,向子類提供一個公共介面,由子類來完善或者重寫它來實現的.

靈活性:

簡化性:

介面的意義

介面的意義用三個詞就可以概括:規範,擴充套件,回撥.

抽象類的意義

抽象類的意義可以用三句話來概括:

  1. 為其他子類提供一個公共的型別
  2. 封裝子類中重複定義的內容
  3. 定義抽象方法,子類雖然有不同的實現,但是定義時一致的

什麼是不可變物件?好處是什麼?

不可變物件指物件一旦被建立,狀態就不能再改變,任何修改都會建立一個新的物件,如 String、Integer及其它包裝類.不可變物件最大的好處是執行緒安全.

java 建立物件的幾種方式

java中提供了以下四種建立物件的方式:

new建立新物件

透過反射機制

採用clone機制

透過序列化機制

前兩者都需要顯式地呼叫構造方法. 對於clone機制,需要注意淺複製和深複製的區別,對於序列化機制需要明確其實現原理,在java中序列化可以透過實現Externalizable或者Serializable來實現.

switch中能否使用string做引數?

在JDK 1.7之前,switch只能支援byte,short,char,int或者其對應的包裝類以及Enum型別.從JDK 1.7之後switch開始支援String型別.但到目前為止,switch都不支援long型別.

java中==和eqauls()的區別?

==是運算子,用於比較兩個變數是否相等,對於基本型別而言比較的是變數的值,對於物件型別而言比較的是物件的地址.

equals()是Object類的方法,用於比較兩個物件內容是否相等.預設Object類的equals()實現如下:

上班第一天給大家準備的大禮包--Java基礎面試題整理

不難看出此時equals()是比較兩個物件的地址,此時直接==比較的的結果一樣.對於可能用於集合儲存中的物件元素而言,通常需要重寫其equals()方法.

& 和 &&的區別

基礎的概念不能弄混:&是位操作,&&是邏輯運算子.需要記住邏輯運算子具有短路特性,而&不具備短路特性.來看看一下程式碼執行結果?

上班第一天給大家準備的大禮包--Java基礎面試題整理

final,finalize()和finally{}的不同之處

三者沒有任何相關性,遇到有問著問題的面試官就拖出去砍了吧.final是一個修飾符,用於修飾變數,方法和類.如果 final 修飾變數,意味著該變數的值在初始化後不能被改變.finalize()方法是在物件被回收之前呼叫的方法,給物件自己最後一個復活的機會.但是該方法由Finalizer執行緒呼叫,但呼叫時機無法保證.finally是一個關鍵字,與 try和catch一起用於異常的處理,finally{}一定會被執行,在此處我們通常用於資源關閉操作.

final有哪些用法?

final也是很多面試喜歡問的地方,但我覺得這個問題很無聊,通常能回答下以下5點就不錯了:

被final修飾的類不可以被繼承

被final修飾的方法不可以被重寫

被final修飾的變數不可以被改變.如果修飾引用,那麼表示引用不可變,引用指向的內容可變.

被final修飾的方法,JVM會嘗試將其內聯,以提高執行效率

被final修飾的常量,在編譯階段會存入常量池中.

除此之外,編譯器對final域要遵守的兩個重排序規則更好:

在建構函式內對一個final域的寫入,與隨後把這個被構造物件的引用賦值給一個引用變數,這兩個操作之間不能重排序

初次讀一個包含final域的物件的引用,與隨後初次讀這個final域,這兩個操作之間不能重排序.

int和Integer的區別?

Integer是int的包裝型別,在拆箱和裝箱中,二者自動轉換.int是基本型別,直接存數值;而integer是物件;用一個引用指向這個物件.由於Integer是一個物件,在JVM中物件需要一定的資料結構進行描述,相比int而言,其佔用的記憶體更大一些.

String s = new String("abc")建立了幾個String物件?

2個.一個是字串字面常數,在字串常量池中;另一個是new出來的字串物件,在堆中.

String,StringBuffer和StringBuilder區別?

String是字串常量,final修飾;StringBuffer字串變數(執行緒安全);StringBuilder 字串變數(執行緒不安全).此外StringBuilder和StringBuffer實現原理一樣,都是基於陣列擴容來實現的.

String和StringBuffer的區別?

String和StringBuffer主要區別是效能:String是不可變物件,每次對String型別進行操作都等同於產生了一個新的String物件,然後指向新的String物件.所以儘量不要對String進行大量的拼接操作,否則會產生很多臨時物件,導致GC開始工作,影響系統性能.

StringBuffer是物件本身操作,而不是產生新的物件,因此在有大量拼接的情況下,我們建議使用StringBuffer(執行緒安全).

需要注意現在JVM會對String拼接做一定的最佳化,比如

String s="This is only "+ "simple" +"test";

以上程式碼在編譯階段會直接被最佳化成會`String s=“This is only simple test”.

垃圾回收

簡單的解釋一下垃圾回收?

JVM中垃圾回收機制最基本的做法是分代回收.記憶體中的區域被劃分成不同的世代,物件根據其存活的時間被儲存在對應世代的區域中.一般的實現是劃分成3個世代:年輕,年老和永久代.所有新生成的物件優先放在年輕代的(大物件可能被直接分配在老年代,作為一種分配擔保機制),年輕代按照統計規律被分為三個區:一個Eden區,兩個 Survivor區.在年輕代中經歷了N次垃圾回收後仍然存活的物件,就會被放到年老代中.因此可以認為年老代中存放的都是一些生命週期較長的物件.

方法區也被稱為永久代,用於儲存每一個java類的結構資訊:比如執行時常量池,欄位和方法資料,建構函式和普通方法的位元組碼內容以及類,例項,介面初始化時需要使用到的特殊方法等資料,根據虛擬機器實現不同,GC可以選擇對方法區進行回收也可以不回收.

對於不同的世代可以使用不同的垃圾回收演算法。比如對由於年輕代存放的物件多是朝生夕死,因此可以採用標記-複製,而對於老年代則可以採用標記-整理/清除.

程序,執行緒相關 說說程序,執行緒之間的區別?

簡而言之,程序是程式執行和資源分配的基本單位,一個程式至少有一個程序,一個程序至少有一個執行緒.程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體資源,減少切換次數,從而效率更高.執行緒是程序的一個實體,是cpu排程和分派的基本單位,是比程式更小的能獨立執行的基本單位.同一程序中的多個執行緒之間可以併發執行.在Linux中,程序也稱為Task.

生產者消費者模型的作用是什麼?

(1)透過平衡生產者的生產能力和消費者的消費能力來提升整個系統的執行效率,這是生產者消費者模型最重要的作用
(2)解耦,這是生產者消費者模型附帶的作用,解耦意味著生產者和消費者之間的聯絡少,聯絡越少越可以獨自發展而不需要收到相互的制約

想了解更多原文連結:https://blog.csdn.net/qq_41701956/article/details/86773940

分類: 健康
時間: 2022-02-07

相關文章

「安全用藥」身體裡缺啥維生素?怎麼補?幾張圖說得清楚
[安全用藥]專欄 安安.徽徽繼續為大家科普 安安 維生素不能隨便吃,一旦服用過量不僅不能防病,還會危害健康. 如何判斷自己是否缺乏維生素?哪些食物富含人體所需維生素?果汁.果乾和水果的營養一樣嗎?本期 ...

「0-7歲」兒童視力發展標準及視知覺訓練
視覺是視知覺發揮作用的基礎.在進行視知覺訓練前,首先要了解視覺發展的一般規律和視知覺發展的關鍵期. 不同年齡段會有不同的特點.下面為美國學者白拉格研究出的兒童正常視覺發展情況,值得我們好好對照一下. ...

「ESMO2021」消化道腫瘤多項研究為中國帶來新標準方案

「ESMO2021」消化道腫瘤多項研究為中國帶來新標準方案
*僅供醫學專業人士閱讀參考 ESMO消化道腫瘤前沿進展,帶給你新思考. 2021年歐洲腫瘤內科學會(ESMO)大會於9月16日-21日在線上舉行.作為歐洲最負盛名和最具影響力的腫瘤學會議,ESMO已成 ...

什麼力量驅動你成為現在的樣子?——「自證預言」

什麼力量驅動你成為現在的樣子?——「自證預言」
01警惕你經常說的話 看過一則故事,一位著名的NBA球星在接受採訪時講過一個細節,有一段時期他的狀態很低迷,不管如何訓練,投球命中率總是無法提升. 他的培訓教練觀察他比賽中投球的影片,發現他有個習慣, ...

「同策監測」8月全國全國樓市持續降溫,多城市出臺住房銷售限購

「同策監測」8月全國全國樓市持續降溫,多城市出臺住房銷售限購
報告獲取: 報告下載請關注「同策研究院」微信公眾號 本月觀點及政策彙總 資料快報 八月全國樓市持續降溫,整體成交規模較7月下跌:一線城市住宅市場成交規模環比小幅增長,均價受深圳影響漲幅明顯:二線城市成 ...

試駕哈雷HARLEY「Pan America」,巡航越野追逐地平線直到世界盡頭

試駕哈雷HARLEY「Pan America」,巡航越野追逐地平線直到世界盡頭
HARLEY-DAVIDSON (以下簡稱哈雷)首款冒險旅行車款「PAN AMERICA 1250/Special」,是哈雷相中這個領域未來的成長可能性,因而選擇積極進入嶄新的巡航與越野市場,是一款按 ...

微信新版「關懷模式」來啦

微信新版「關懷模式」來啦
微信8.0.14 Android版已啟動了內測,這個內測版本中最值得關注的功能,是微信上線了「關懷模式」. 進入「我-設定」中,就能看到「關懷模式」,位於「青少年模式」下. 「關懷模式」便是「微信老年 ...

蘋果釋出會:iPhone13 全系加大記憶體獨享高刷,價格真的「十三香」

蘋果釋出會:iPhone13 全系加大記憶體獨享高刷,價格真的「十三香」
除了 iPhone 13 系列外,全面屏的 iPad mini 6.iPad 9.Apple Watch Series 7 也和大家見面了. 喊了一年的「十三香」終於和大家見面了,但出人意料地是,在手 ...

美網大驚奇?出道即巔峰,中英混血「00後」十連勝封后

美網大驚奇?出道即巔峰,中英混血「00後」十連勝封后
9月才18歲的華裔女孩艾瑪·拉杜卡努(Emma Raducanu)讓我們見識到了什麼是出道即巔峰.數月前,她還是個普普通通的英國高中生,甚至在為英國的「高考」A-level而煩惱.幾個月後,她成為了全 ...

手機版《死亡細胞》DLC「致命墜落」9月21日發售

手機版《死亡細胞》DLC「致命墜落」9月21日發售
由 bilibili 遊戲獨家代理.Motion Twin.Evil Empire.Playdigious 研發出品的橫版動作手遊<死亡細胞>(大陸官譯<重生細胞>),將於 9 ...

寶寶的過敏性鼻炎怎麼治療呢?(純乾貨分享)

寶寶的過敏性鼻炎怎麼治療呢?(純乾貨分享)
寶寶過敏性鼻炎的治療,一般要根據寶寶的臨床症狀及嚴重程度,即臨床分類,再結合寶寶的年齡.藥物的安全性及依從性等因素綜合考慮. 一. 過敏性鼻炎的臨床分類: 1. 按症狀發作時間分為: 1) 間歇性:每 ...

鼻咽癌治療“中國方案”或改寫全球標準
我國創新藥物研究成果首獲<自然·醫學>封面推薦 鼻咽癌治療"中國方案"或改寫全球標準 本報記者 馬愛平 近日,<自然·醫學>創刊26年來首次在封面推薦了中國 ...

價值1億的「帝王綠」翡翠套裝,居然還擁有專屬的帝王玉證書?

價值1億的「帝王綠」翡翠套裝,居然還擁有專屬的帝王玉證書?
大家好,我是軒哥. 帝王綠翡翠,對於很多人來說只是一個名詞. 但對於各大珠寶拍賣會來說,帝王綠翡翠可是"常客",同時也是收藏家們眼裡的香餑餑. 因此拍賣會上價格能夠過億的翡翠「帝王 ...

索尼的掛脖音箱,Withings 的潛水手錶,前森海塞爾工程師的耳機,為「宅男」看片服務的 AR 眼鏡……

索尼的掛脖音箱,Withings 的潛水手錶,前森海塞爾工程師的耳機,為「宅男」看片服務的 AR 眼鏡……
灣裡灣外一週新品資訊: Apple Watch Series 7 和 SE 今起接受訂購,10 月 15 日發售 出門問問釋出旗艦新品 TicWatch Pro X,搭載高通 Wear 4100,雙屏 ...

「深度評測」文石Nova Air系列:國產閱讀器的里程碑

「深度評測」文石Nova Air系列:國產閱讀器的里程碑
本文轉自什麼值得買使用者"志燁ZIE"對BOOX Nova Air的評測,已徵得作者授權釋出. 創作立場宣告:產品為個人自費購入,無利益相關 寫在前面:本文不是照本宣科地抄一遍釋出 ...

為什麼我不買李寧,選擇了「倒閉款」AJ?原來被這6雙球鞋圈粉了

為什麼我不買李寧,選擇了「倒閉款」AJ?原來被這6雙球鞋圈粉了
隨著國潮的興起,李寧的"炒鞋"程度絲毫不亞於Nike.Adidas,二級市場的價格遠遠高於最初的發售價,"沒錢買李寧"也成為了眾多網友的口頭禪,以至於很多人&q ...

你還在給孩子吃「乳酪棒」嗎?看看這篇再做決定吧

你還在給孩子吃「乳酪棒」嗎?看看這篇再做決定吧
養娃有多難?孩子生病了--急!孩子發育得好像慢了點--愁!孩子跟你頂嘴了--氣! 「退『貨』是來不及了,能不能賜給我一個『哆啦A夢』,讓它幫我解決一切困難啊!」 聽到了你們的呼喚,今天就把我的好朋友- ...

Apple Watch Series 7,也有「全面屏」

Apple Watch Series 7,也有「全面屏」
Apple Watch Series 7在本次新品釋出會上較早亮相,不過大家對智慧手錶產品一直沒有額外熱情,加上它是常規升級產品,討論度更不是多高了. 本代產品在外觀設計上變化並不明顯,但是它的螢幕明 ...

「熊貓燒香」病毒當年有多恐怖?上千萬電腦癱瘓,發明者水泥專業

「熊貓燒香」病毒當年有多恐怖?上千萬電腦癱瘓,發明者水泥專業
熊貓是一種可愛的動物,也是我們中國獨有的動物,但是今天說的「熊貓燒香」卻和可愛的大熊貓沒有任何關係,因為它是一種可怕的病毒,導致無數電腦癱瘓,是最早一批電腦使用者的噩夢,也是中國網際網路的里程碑. 「 ...

「我要代替月亮懲罰你!」10句經典美少女卡通的「變身臺詞」.

「我要代替月亮懲罰你!」10句經典美少女卡通的「變身臺詞」.
各位七.八年級的少女們請站出來-相信大家小時候都曾經有過「變身夢」,那時候的少女卡通大多類似於<美少女戰士>的型別,都是美少女卻有著無限魔法或是公主身份,總是擁有一樣神器可以變身,最重要的 ...