常見Java面試知識(shí)匯總

持續(xù)更新中······
一扣蜻、多線程

1.ThreadPoolExecutor

線程池實(shí)現(xiàn)原理软棺、關(guān)鍵的方法的作用诫欠、常見的應(yīng)用場(chǎng)景

線程池中的線程的狀態(tài)艰赞,線程池中添加任務(wù)的具體處理,線程池中沒有任務(wù)時(shí)線程是什么狀態(tài)

參考:http://www.importnew.com/19011.html

http://www.reibang.com/p/87bff5cc8d8c

2.ReentrantLock

可重入鎖的實(shí)現(xiàn)機(jī)制提佣,如何加鎖吮蛹、釋放鎖荤崇,如何做到可重入

CAS機(jī)制

如何實(shí)現(xiàn)互斥阻塞的,同關(guān)鍵字synchronized對(duì)比

嘗試編碼實(shí)現(xiàn)producer & consumer潮针,關(guān)聯(lián)多個(gè)condition實(shí)現(xiàn)靈活地線程同步

ReentrantReadWriteLock的具體使用

3.synchronized

實(shí)現(xiàn)同步的原理术荤,wait/notify/notifyall的使用

4.ThreadLocal

什么是ThreadLocal,具體應(yīng)用每篷,使用ThreadLocal會(huì)有哪些風(fēng)險(xiǎn)

為什么會(huì)發(fā)生內(nèi)存溢出瓣戚,如何避免,為什么使用ThreadLocal的弱引用作為ThreadLocalMap的key

嘗試使用ThreadLocal實(shí)現(xiàn)簡單的數(shù)據(jù)庫連接池

5.CountDownLatch/CyclicBarrier

使用方法焦读,哪一個(gè)是可以重用的

嘗試編寫demo

參考:http://ifeve.com/concurrency-cyclicbarrier/

6.Java鎖機(jī)制

鎖類型带兜,可重入、共享鎖/排它鎖吨灭、樂觀鎖/悲觀鎖

自旋鎖,鎖粗化/鎖消除刑巧,偏向鎖/輕量級(jí)鎖/重量級(jí)鎖

參考:https://blog.csdn.net/nalanmingdian/article/details/77800355

7.volatile

volatile變量在內(nèi)存中的含義喧兄,jvm的具體機(jī)制是怎么樣的

8.Semaphore
通過構(gòu)造函數(shù)Semaphore(int , boolean)可以控制是否公平

如何使用,嘗試解決哲學(xué)家進(jìn)餐問題
9.多線程基礎(chǔ)
callable和runnable啊楚,future
二吠冤、JVM

1.JVM內(nèi)存結(jié)構(gòu)

方法區(qū)/運(yùn)行時(shí)常量池、程序計(jì)數(shù)器恭理、Java虛擬機(jī)棧拯辙、本地方法棧、堆

2.JVM內(nèi)存模型

含義颜价、volatile涯保、final、synchronized

happen-before周伦、重排序
參考:http://www.reibang.com/p/d3fda02d4cae
3.類加載機(jī)制

加載過程夕春、雙親委托機(jī)制

class二進(jìn)制數(shù)據(jù)加載->驗(yàn)證->準(zhǔn)備->解析->初始化->使用->卸載

類加載器

加載過程中如何保證一個(gè)類只被加載一次

參考:http://www.importnew.com/22228.html

http://www.cnblogs.com/paddix/p/5268559.html

http://www.hollischuang.com/archives/199

4.垃圾回收

gc算法

垃圾收集器

如何調(diào)優(yōu),jvm參數(shù)配置

命令使用jps专挪、jstat及志、jmap、jstack

三寨腔、數(shù)據(jù)庫(MySQL)

1.MySQL查詢的完整過程

預(yù)編譯查詢速侈、jdbc查詢過程描述

參考:https://www.cnblogs.com/micrari/p/7112781.html

2.表設(shè)計(jì)

字段設(shè)計(jì)

3.索引設(shè)計(jì)

B+樹實(shí)現(xiàn)原理、MySQL索引的種類迫卢、如何設(shè)計(jì)表的索引倚搬,有什么注意的地方

什么時(shí)候會(huì)用到索引,什么時(shí)候索引會(huì)失效

4.讀寫分離

怎么配置

5.分庫分表

常見的策略靖避,如何考慮自適應(yīng)擴(kuò)容潭枣,全局主鍵ID生成

拆分后怎么辦比默,程序怎么連接數(shù)據(jù)庫,跨庫join問題盆犁,跨庫事務(wù)問題

中間件的選擇

四命咐、消息

流行的消息隊(duì)列Kafka、RabbitMQ谐岁、ActiveMQ

嘗試實(shí)現(xiàn)producer & consumer模型

五醋奠、緩存

1.分布式緩存設(shè)計(jì)和應(yīng)用

2.Redis

幾種數(shù)據(jù)類型、Redis集群

六伊佃、分布式

1.基本理論

CAP定理

BASE理論

兩階段提交

三階段提交

Paxos算法

2.Zookeeper

實(shí)現(xiàn)原理窜司,選舉機(jī)制

具體應(yīng)用,實(shí)現(xiàn)分布式鎖

3.分布式數(shù)據(jù)一致性解決方案

使用消息隊(duì)列MQ·····
4.分布式鎖
redis
zookeeper

七航揉、spring

1.spring框架

spring解決的問題塞祈,bean容器是怎么初始化的,bean的加載過程帅涂、生命周期

選擇使用Spring框架的原因(Spring框架為企業(yè)級(jí)開發(fā)帶來的好處有哪些)议薪?

  • 非侵入式:支持基于POJO的編程模式,不強(qiáng)制性的要求實(shí)現(xiàn)Spring框架中的接口或繼承Spring框架中的類媳友。
  • IoC容器:IoC容器幫助應(yīng)用程序管理對(duì)象以及對(duì)象之間的依賴關(guān)系斯议,對(duì)象之間的依賴關(guān)系如果發(fā)生了改變只需要修改配置文件而不是修改代碼,因?yàn)榇a的修改可能意味著項(xiàng)目的重新構(gòu)建和完整的回歸測(cè)試醇锚。有了IoC容器哼御,程序員再也不需要自己編寫工廠、單例焊唬,這一點(diǎn)特別符合Spring的精神”不要重復(fù)的發(fā)明輪子”恋昼。
  • AOP(面向切面編程):將所有的橫切關(guān)注功能封裝到切面(aspect)中,通過配置的方式將橫切關(guān)注功能動(dòng)態(tài)添加到目標(biāo)代碼上赶促,進(jìn)一步實(shí)現(xiàn)了業(yè)務(wù)邏輯和系統(tǒng)服務(wù)之間的分離焰雕。另一方面,有了AOP程序員可以省去很多自己寫代理類的工作芳杏。
  • MVC:Spring的MVC框架是非常優(yōu)秀的矩屁,從各個(gè)方面都可以甩Struts 2幾條街,為Web表示層提供了更好的解決方案爵赵。
  • 事務(wù)管理:Spring以寬廣的胸懷接納多種持久層技術(shù)吝秕,并且為其提供了聲明式的事務(wù)管理,在不需要任何一行代碼的情況下就能夠完成事務(wù)管理空幻。
  • 其他:選擇Spring框架的原因還遠(yuǎn)不止于此烁峭,Spring為Java企業(yè)級(jí)開發(fā)提供了一站式選擇,你可以在需要的時(shí)候使用它的部分和全部,更重要的是约郁,你甚至可以在感覺不到Spring存在的情況下缩挑,在你的項(xiàng)目中使用Spring提供的各種優(yōu)秀的功能。

2.IOC

3.AOP

4.事務(wù)

5.springMVC

處理請(qǐng)求的過程鬓梅、源碼解析

如何配置
八供置、mybatis
1.配置
2.初始化過程

3.查詢過程

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市绽快,隨后出現(xiàn)的幾起案子芥丧,更是在濱河造成了極大的恐慌,老刑警劉巖坊罢,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件续担,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡活孩,警方通過查閱死者的電腦和手機(jī)物遇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來憾儒,“玉大人挎挖,你說我怎么就攤上這事『蕉幔” “怎么了?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵崔涂,是天一觀的道長阳掐。 經(jīng)常有香客問我,道長冷蚂,這世上最難降的妖魔是什么缭保? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蝙茶,結(jié)果婚禮上艺骂,老公的妹妹穿的比我還像新娘。我一直安慰自己隆夯,他們只是感情好钳恕,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蹄衷,像睡著了一般忧额。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上愧口,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天睦番,我揣著相機(jī)與錄音,去河邊找鬼。 笑死托嚣,一個(gè)胖子當(dāng)著我的面吹牛巩检,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播示启,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼兢哭,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了丑搔?” 一聲冷哼從身側(cè)響起厦瓢,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啤月,沒想到半個(gè)月后煮仇,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谎仲,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年浙垫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片郑诺。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡夹姥,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出辙诞,到底是詐尸還是另有隱情辙售,我是刑警寧澤,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布飞涂,位于F島的核電站旦部,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏较店。R本人自食惡果不足惜士八,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望梁呈。 院中可真熱鬧婚度,春花似錦、人聲如沸官卡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽寻咒。三九已至评甜,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間仔涩,已是汗流浹背忍坷。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人佩研。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓柑肴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親旬薯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子晰骑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容