面試題收集

Synchronized關鍵字和ReentrantLock的對比
相同點:互斥性徒蟆、內存可見性添祸、可重入

不同點:

①ReentrantLock相比synchronized提供了更多的特性:支持輪詢鎖(tryLock)、定時鎖(帶定時的tryLock)、可中斷鎖(lockInterruptibly)媚送、公平鎖;

②synchronized釋放鎖和操作總是和獲取鎖的操作處于同一代碼塊寇甸,而ReentrantLock支持非塊結構的加鎖

③每個內置鎖只有一個條件塘偎,而ReentrantLock可以通過newCondition支持多個Condition。

用過哪些線程池拿霉,ThreadPoolExecutor的參數(shù)含義
線程池根據(jù)創(chuàng)建方法的不同主要分:

FixedThreadPool,SingleThreadExecutor,CachedThreadPool,ScheduledThreadPool,SingleThreadScheduledExecutor吟秩;

ThreadPoolExecutor的各個參數(shù)含義如下:

int maximumPoolSize //最大線程數(shù)

long keepAliveTime //超過corePoolSize的空閑線程多久會被銷毀

TimeUnit unit //keepAliveTime的單位

BlockingQueue<Runnable> workQueue //被提交但尚未被執(zhí)行的任務

ThreadFactory threadFactory //線程工廠,一般用DefaultThreadFactory

RejectedExecutionHandler handler) //線程池關閉或任務太多來不及處理時的拒絕策略

Object類中包含哪些方法
不要小看這個問題,Object類作為Java中最根本的類绽淘,它包含的方法一定要深入理解才行涵防,其中的任何一個方法都可以作為面試題。當你回答每個方法時沪铭,最好也簡單說明下這個方法的作用壮池。

Object類中的方法(共11個,前2個是protected其他是public,native方法未計入在內)

Object clone(): 創(chuàng)建并返回此對象的一個副本(淺拷貝,如果對象中包含數(shù)組則拷貝后會共用同一個數(shù)組)

void finalize(): 當垃圾回收器確定不存在對該對象的更多引用時,由對象垃圾回收器調用此方法

String toString(): 返回該對象的字符串表示

int hashCode(): 返回該對象的哈希碼值,native方法.

boolean equals(Object obj): 指示其他某個對象是否與此對象“相等”,默認通過==(對象地址值)來比較.

void wait(): 在其他線程調用此對象notify()或notifyAll() 方法前,導致當前線程等待

void wait(long timeout):在其他線程調用此對象notify()或notifyAll()方法或者超過指定時間前,導致當前線程等待

void wait(long timeout, int nanos): 在其他線程調用此對象notify()或notifyAll() 方法,或者其他某個線程中斷當前線程,或者已超過某個實際時間前,導致當前線程等待

void notify(): 喚醒在此對象監(jiān)視器上等待的單個線程

void notifyAll(): 喚醒在此對象監(jiān)視器上等待的所有線程

Class<?> getClass(): 返回此Object的運行時類

Java中強引用和弱引用的區(qū)別
在JDK 1.2后,將對象引用分為4種級別伦意,引用強度依次減弱:強引用(Strong Reference)火窒、軟引用(Soft Reference)、弱引用(Weak Reference)驮肉、虛引用(Phantom Reference)熏矿。

雖然這邊面試官只問了其中的兩種,但是如果你能把四種都說清楚离钝,那顯然是個加分項票编。

強引用(Strong Reference):平時聲明變量使用的就是強引用,只要強引用還存在卵渴,垃圾收集器即使OOM也不會回收掉被引用的對象慧域。

軟引用(Soft Reference):描述有用但非必須的對象,在將要發(fā)生OOM之前會進行回收浪读,如果回收還是沒有足夠內存才會拋OOM昔榴。

弱引用(Weak Reference):描述非必須的對象辛藻,當垃圾收集器工作時,無論當前內存是否足夠互订,都會回收掉只被弱引用關聯(lián)的對象吱肌。

虛引用(Phantom Reference):最弱的一種引用關系,一個對象是否有虛引用的存在仰禽,完全不會對其生存時間構成影響氮墨,也無法通過虛引用來取得一個對象實例。

如何解決哈希沖突
1.鏈地址法:把所有的沖突關鍵字存儲在一個線性鏈表中.

2.開放定址法

線性探測法:沖突發(fā)生時順序查看下一個單元,直到找出一個空單元或查遍全表.

另有二次探測法吐葵、偽隨機探測法

3.再散列法:當發(fā)生沖突時,利用另一個哈希函數(shù)再次計算一個地址,直到沖突不再發(fā)生

4.建立一個公共緩沖區(qū).一旦由哈希函數(shù)得到的地址沖突,就都填入溢出表.

如果只是機械得回答上面的四種方法规揪,讓人有種背答案的感覺,因此最好再舉一個Java中的HashMap的例子温峭,可以這么補充:HashMap在JDK 1.7及以前版本采用鏈地址法解決哈希沖突猛铅,JDK 1.8開始進行了優(yōu)化,默認情況下诚镰,當鏈表長度超過8時奕坟,會轉換成紅黑樹進行存儲(具體細節(jié)可以看源碼中put函數(shù)的邏輯)。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末清笨,一起剝皮案震驚了整個濱河市月杉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌抠艾,老刑警劉巖苛萎,帶你破解...
    沈念sama閱讀 216,843評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異检号,居然都是意外死亡腌歉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評論 3 392
  • 文/潘曉璐 我一進店門齐苛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來翘盖,“玉大人,你說我怎么就攤上這事凹蜂♀裳保” “怎么了?”我有些...
    開封第一講書人閱讀 163,187評論 0 353
  • 文/不壞的土叔 我叫張陵玛痊,是天一觀的道長汰瘫。 經常有香客問我,道長擂煞,這世上最難降的妖魔是什么混弥? 我笑而不...
    開封第一講書人閱讀 58,264評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮对省,結果婚禮上蝗拿,老公的妹妹穿的比我還像新娘晾捏。我一直安慰自己,他們只是感情好哀托,可當我...
    茶點故事閱讀 67,289評論 6 390
  • 文/花漫 我一把揭開白布粟瞬。 她就那樣靜靜地躺著,像睡著了一般萤捆。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上俗批,一...
    開封第一講書人閱讀 51,231評論 1 299
  • 那天俗或,我揣著相機與錄音,去河邊找鬼岁忘。 笑死辛慰,一個胖子當著我的面吹牛,可吹牛的內容都是我干的干像。 我是一名探鬼主播帅腌,決...
    沈念sama閱讀 40,116評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼麻汰!你這毒婦竟也來了速客?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,945評論 0 275
  • 序言:老撾萬榮一對情侶失蹤五鲫,失蹤者是張志新(化名)和其女友劉穎溺职,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體位喂,經...
    沈念sama閱讀 45,367評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡浪耘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,581評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了塑崖。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片七冲。...
    茶點故事閱讀 39,754評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖规婆,靈堂內的尸體忽然破棺而出澜躺,到底是詐尸還是另有隱情,我是刑警寧澤聋呢,帶...
    沈念sama閱讀 35,458評論 5 344
  • 正文 年R本政府宣布苗踪,位于F島的核電站,受9級特大地震影響削锰,放射性物質發(fā)生泄漏通铲。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,068評論 3 327
  • 文/蒙蒙 一器贩、第九天 我趴在偏房一處隱蔽的房頂上張望颅夺。 院中可真熱鬧朋截,春花似錦、人聲如沸吧黄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽拗慨。三九已至廓八,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赵抢,已是汗流浹背剧蹂。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留烦却,地道東北人宠叼。 一個月前我還...
    沈念sama閱讀 47,797評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像其爵,于是被迫代替她去往敵國和親冒冬。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,654評論 2 354

推薦閱讀更多精彩內容

  • 1. Java基礎部分 基礎部分的順序:基本語法摩渺,類相關的語法简烤,內部類的語法,繼承相關的語法摇幻,異常的語法乐埠,線程的語...
    子非魚_t_閱讀 31,625評論 18 399
  • 相關概念 面向對象的三個特征 封裝,繼承,多態(tài).這個應該是人人皆知.有時候也會加上抽象. 多態(tài)的好處 允許不同類對...
    東經315度閱讀 1,940評論 0 8
  • Java8張圖 11、字符串不變性 12囚企、equals()方法丈咐、hashCode()方法的區(qū)別 13、...
    Miley_MOJIE閱讀 3,701評論 0 11
  • 讀過一首小詩:昨晚/因為城市停電/她來到陽臺上/看到了久違的月亮龙宏,短短幾句棵逊,整個城市的意境和情感就都有了。 詩歌和...
    蘭若9788閱讀 340評論 1 2
  • 泰戈爾原文: The perfect decks itself in beauty for thelove of ...
    語熙閱讀 1,172評論 0 5