2019-03-04

一、Java 基礎(chǔ)

JDK 和 JRE 有什么區(qū)別逐样?

jdk就是java的開發(fā)工具集,顧名思義就是你做開發(fā)用的,其中包括javac脂新,也就是java compiler等挪捕。jre(java runtime environment),就是java程序的運(yùn)行環(huán)境。你所寫的java程序在經(jīng)過javac編譯后會(huì)形成字符行文件争便,這個(gè)java的中間文件级零,計(jì)算機(jī)是看不懂的,而這個(gè)文件是給jvm(java的虛擬機(jī))用的滞乙,由jvm進(jìn)行解釋后形成機(jī)器語言給計(jì)算機(jī)奏纪。而這個(gè)jvm就在jre中,也就是說java程序的運(yùn)行要有jre來擔(dān)當(dāng)斩启。所以jdk和jre的區(qū)別就是一個(gè)用于開發(fā)序调,一個(gè)用于運(yùn)行,聯(lián)系就是他們都是java開發(fā)者所必備的(除非你就像運(yùn)行java程序兔簇,那么用jre就足夠了)发绢。

== 和 equals 的區(qū)別是什么?

https://www.cnblogs.com/www123----/p/7857298.html

兩個(gè)對(duì)象的 hashCode()相同垄琐,則 equals()也一定為 true边酒,對(duì)嗎?

final 在 java 中有什么作用狸窘?

java 中的 Math.round(-1.5) 等于多少墩朦?

String 屬于基礎(chǔ)的數(shù)據(jù)類型嗎?

java 中操作字符串都有哪些類翻擒?它們之間有什么區(qū)別氓涣?

String str="i"與 String str=new String("i")一樣嗎?

如何將字符串反轉(zhuǎn)陋气?

String 類的常用方法都有那些春哨?

抽象類必須要有抽象方法嗎?

普通類和抽象類有哪些區(qū)別恩伺?

抽象類能使用 final 修飾嗎?

接口和抽象類有什么區(qū)別椰拒?

java 中 IO 流分為幾種晶渠?

BIO、NIO燃观、AIO 有什么區(qū)別褒脯?

Files的常用方法都有哪些?

二缆毁、容器

java 容器都有哪些番川?

Collection 和 Collections 有什么區(qū)別?

List、Set颁督、Map 之間的區(qū)別是什么践啄?

HashMap 和 Hashtable 有什么區(qū)別?

如何決定使用 HashMap 還是 TreeMap沉御?

說一下 HashMap 的實(shí)現(xiàn)原理屿讽?

說一下 HashSet 的實(shí)現(xiàn)原理?

ArrayList 和 LinkedList 的區(qū)別是什么吠裆?

如何實(shí)現(xiàn)數(shù)組和 List 之間的轉(zhuǎn)換伐谈?

ArrayList 和 Vector 的區(qū)別是什么?

Array 和 ArrayList 有何區(qū)別试疙?

在 Queue 中 poll()和 remove()有什么區(qū)別诵棵?

哪些集合類是線程安全的?

迭代器 Iterator 是什么祝旷?

Iterator 怎么使用履澳?有什么特點(diǎn)?

Iterator 和 ListIterator 有什么區(qū)別缓屠?

怎么確保一個(gè)集合不能被修改奇昙?

三、多線程

并行和并發(fā)有什么區(qū)別敌完?

線程和進(jìn)程的區(qū)別储耐?

守護(hù)線程是什么?

創(chuàng)建線程有哪幾種方式滨溉?

說一下 runnable 和 callable 有什么區(qū)別什湘?

線程有哪些狀態(tài)?

sleep() 和 wait() 有什么區(qū)別晦攒?

notify()和 notifyAll()有什么區(qū)別闽撤?

線程的 run()和 start()有什么區(qū)別?

創(chuàng)建線程池有哪幾種方式脯颜?

線程池都有哪些狀態(tài)哟旗?

線程池中 submit()和 execute()方法有什么區(qū)別?

在 java 程序中怎么保證多線程的運(yùn)行安全栋操?

多線程鎖的升級(jí)原理是什么闸餐?

什么是死鎖?

怎么防止死鎖矾芙?

ThreadLocal 是什么舍沙?有哪些使用場景?

說一下 synchronized 底層實(shí)現(xiàn)原理剔宪?

synchronized 和 volatile 的區(qū)別是什么拂铡?

synchronized 和 Lock 有什么區(qū)別壹无?

synchronized 和 ReentrantLock 區(qū)別是什么?

說一下 atomic 的原理感帅?

四斗锭、反射

什么是反射?

什么是 java 序列化留瞳?什么情況下需要序列化拒迅?

動(dòng)態(tài)代理是什么?有哪些應(yīng)用她倘?

怎么實(shí)現(xiàn)動(dòng)態(tài)代理璧微?

五、對(duì)象拷貝

為什么要使用克掠擦骸前硫?

如何實(shí)現(xiàn)對(duì)象克隆荧止?

深拷貝和淺拷貝區(qū)別是什么屹电?

六、Java Web

jsp 和 servlet 有什么區(qū)別跃巡?

jsp 有哪些內(nèi)置對(duì)象危号?作用分別是什么?

說一下 jsp 的 4 種作用域素邪?

session 和 cookie 有什么區(qū)別外莲?

說一下 session 的工作原理?

如果客戶端禁止 cookie 能實(shí)現(xiàn) session 還能用嗎兔朦?

spring mvc 和 struts 的區(qū)別是什么偷线?

如何避免 sql 注入?

什么是 XSS 攻擊沽甥,如何避免声邦?

什么是 CSRF 攻擊,如何避免摆舟?

七亥曹、異常

throw 和 throws 的區(qū)別?

final恨诱、finally媳瞪、finalize 有什么區(qū)別?

try-catch-finally 中哪個(gè)部分可以省略胡野?

try-catch-finally 中,如果 catch 中 return 了痕鳍,finally 還會(huì)執(zhí)行嗎硫豆?

常見的異常類有哪些龙巨?

八、網(wǎng)絡(luò)

http 響應(yīng)碼 301 和 302 代表的是什么熊响?有什么區(qū)別旨别?

forward 和 redirect 的區(qū)別?

簡述 tcp 和 udp的區(qū)別汗茄?

tcp 為什么要三次握手秸弛,兩次不行嗎?為什么洪碳?

說一下 tcp 粘包是怎么產(chǎn)生的递览?

OSI 的七層模型都有哪些?

get 和 post 請(qǐng)求有哪些區(qū)別瞳腌?

如何實(shí)現(xiàn)跨域绞铃?

說一下 JSONP 實(shí)現(xiàn)原理?

九嫂侍、設(shè)計(jì)模式

說一下你熟悉的設(shè)計(jì)模式儿捧?

簡單工廠和抽象工廠有什么區(qū)別?

十挑宠、Spring/Spring MVC

為什么要使用 spring菲盾?

解釋一下什么是 aop?

解釋一下什么是 ioc各淀?

spring 有哪些主要模塊懒鉴?

spring 常用的注入方式有哪些?

spring 中的 bean 是線程安全的嗎揪阿?

spring 支持幾種 bean 的作用域疗我?

spring 自動(dòng)裝配 bean 有哪些方式?

spring 事務(wù)實(shí)現(xiàn)方式有哪些南捂?

說一下 spring 的事務(wù)隔離吴裤?

說一下 spring mvc 運(yùn)行流程?

spring mvc 有哪些組件溺健?

@RequestMapping 的作用是什么麦牺?

@Autowired 的作用是什么?

十一鞭缭、Spring Boot/Spring Cloud

什么是 spring boot剖膳?

為什么要用 spring boot?

spring boot 核心配置文件是什么岭辣?

spring boot 配置文件有哪幾種類型吱晒?它們有什么區(qū)別?

spring boot 有哪些方式可以實(shí)現(xiàn)熱部署沦童?

jpa 和 hibernate 有什么區(qū)別仑濒?

什么是 spring cloud叹话?

spring cloud 斷路器的作用是什么?

spring cloud 的核心組件有哪些墩瞳?

十二驼壶、Hibernate

為什么要使用 hibernate?

什么是 ORM 框架喉酌?

hibernate 中如何在控制臺(tái)查看打印的 sql 語句热凹?

hibernate 有幾種查詢方式?

hibernate 實(shí)體類可以被定義為 final 嗎泪电?

在 hibernate 中使用 Integer 和 int 做映射有什么區(qū)別般妙?

hibernate 是如何工作的?

get()和 load()的區(qū)別歪架?

說一下 hibernate 的緩存機(jī)制股冗?

hibernate 對(duì)象有哪些狀態(tài)?

在 hibernate 中 getCurrentSession 和 openSession 的區(qū)別是什么和蚪?

hibernate 實(shí)體類必須要有無參構(gòu)造函數(shù)嗎止状?為什么?

十三攒霹、Mybatis

mybatis 中 #{}和 ${}的區(qū)別是什么怯疤?

mybatis 有幾種分頁方式?

RowBounds 是一次性查詢?nèi)拷Y(jié)果嗎催束?為什么集峦?

mybatis 邏輯分頁和物理分頁的區(qū)別是什么?

mybatis 是否支持延遲加載抠刺?延遲加載的原理是什么塔淤?

說一下 mybatis 的一級(jí)緩存和二級(jí)緩存?

mybatis 和 hibernate 的區(qū)別有哪些速妖?

mybatis 有哪些執(zhí)行器(Executor)高蜂?

mybatis 分頁插件的實(shí)現(xiàn)原理是什么?

mybatis 如何編寫一個(gè)自定義插件罕容?

十四备恤、RabbitMQ

rabbitmq 的使用場景有哪些?

rabbitmq 有哪些重要的角色锦秒?

rabbitmq 有哪些重要的組件露泊?

rabbitmq 中 vhost 的作用是什么?

rabbitmq 的消息是怎么發(fā)送的旅择?

rabbitmq 怎么保證消息的穩(wěn)定性惭笑?

rabbitmq 怎么避免消息丟失?

要保證消息持久化成功的條件有哪些生真?

rabbitmq 持久化有什么缺點(diǎn)沉噩?

rabbitmq 有幾種廣播類型铺敌?

rabbitmq 怎么實(shí)現(xiàn)延遲消息隊(duì)列?

rabbitmq 集群有什么用屁擅?

rabbitmq 節(jié)點(diǎn)的類型有哪些?

rabbitmq 集群搭建需要注意哪些問題产弹?

rabbitmq 每個(gè)節(jié)點(diǎn)是其他節(jié)點(diǎn)的完整拷貝嗎派歌?為什么?

rabbitmq 集群中唯一一個(gè)磁盤節(jié)點(diǎn)崩潰了會(huì)發(fā)生什么情況痰哨?

rabbitmq 對(duì)集群節(jié)點(diǎn)停止順序有要求嗎胶果?

十五、Kafka

kafka 可以脫離 zookeeper 單獨(dú)使用嗎斤斧?為什么早抠?

kafka 有幾種數(shù)據(jù)保留的策略?

kafka 同時(shí)設(shè)置了 7 天和 10G 清除數(shù)據(jù)撬讽,到第五天的時(shí)候消息達(dá)到了 10G蕊连,這個(gè)時(shí)候 kafka 將如何處理?

什么情況會(huì)導(dǎo)致 kafka 運(yùn)行變慢游昼?

使用 kafka 集群需要注意什么甘苍?

十六、Zookeeper

zookeeper 是什么烘豌?

zookeeper 都有哪些功能载庭?

zookeeper 有幾種部署模式?

zookeeper 怎么保證主從節(jié)點(diǎn)的狀態(tài)同步廊佩?

集群中為什么要有主節(jié)點(diǎn)囚聚?

集群中有 3 臺(tái)服務(wù)器,其中一個(gè)節(jié)點(diǎn)宕機(jī)标锄,這個(gè)時(shí)候 zookeeper 還可以使用嗎顽铸?

說一下 zookeeper 的通知機(jī)制?

十七鸯绿、MySql

數(shù)據(jù)庫的三范式是什么跋破?

一張自增表里面總共有 7 條數(shù)據(jù),刪除了最后 2 條數(shù)據(jù)瓶蝴,重啟 mysql 數(shù)據(jù)庫毒返,又插入了一條數(shù)據(jù),此時(shí) id 是幾舷手?

如何獲取當(dāng)前數(shù)據(jù)庫版本拧簸?

說一下 ACID 是什么?

char 和 varchar 的區(qū)別是什么男窟?

float 和 double 的區(qū)別是什么盆赤?

mysql 的內(nèi)連接贾富、左連接、右連接有什么區(qū)別牺六?

mysql 索引是怎么實(shí)現(xiàn)的颤枪?

怎么驗(yàn)證 mysql 的索引是否滿足需求?

說一下數(shù)據(jù)庫的事務(wù)隔離淑际?

說一下 mysql 常用的引擎畏纲?

說一下 mysql 的行鎖和表鎖?

說一下樂觀鎖和悲觀鎖春缕?

mysql 問題排查都有哪些手段盗胀?

如何做 mysql 的性能優(yōu)化?

十八锄贼、Redis

redis 是什么票灰?都有哪些使用場景?

redis 有哪些功能宅荤?

redis 和 memecache 有什么區(qū)別屑迂?

redis 為什么是單線程的?

什么是緩存穿透冯键?怎么解決屈糊?

redis 支持的數(shù)據(jù)類型有哪些?

redis 支持的 java 客戶端都有哪些琼了?

jedis 和 redisson 有哪些區(qū)別逻锐?

怎么保證緩存和數(shù)據(jù)庫數(shù)據(jù)的一致性?

redis 持久化有幾種方式雕薪?

redis 怎么實(shí)現(xiàn)分布式鎖昧诱?

redis 分布式鎖有什么缺陷?

redis 如何做內(nèi)存優(yōu)化所袁?

redis 淘汰策略有哪些盏档?

redis 常見的性能問題有哪些?該如何解決燥爷?

十九蜈亩、JVM

說一下 jvm 的主要組成部分?及其作用前翎?


圖片發(fā)自簡書App

1)類加載子系統(tǒng)負(fù)責(zé)從文件系統(tǒng)或者網(wǎng)絡(luò)中加載Class信息稚配,加載的類信息存放于一塊稱為方法區(qū)的內(nèi)存空間。除了類的信息外港华,方法區(qū)中可能還會(huì)存放運(yùn)行時(shí)常量池信息道川,包括字符串字面量和數(shù)字常量(這部分常量信息是Class文件中常量池部分的內(nèi)存映射)。

2)java堆在虛擬機(jī)啟動(dòng)的時(shí)候建立,它是java程序最主要的內(nèi)存工作區(qū)域冒萄。幾乎所有的java對(duì)象實(shí)例都存放在java堆中臊岸。堆空間是所有線程共享的,這是一塊與java應(yīng)用密切相關(guān)的內(nèi)存空間尊流。

3)java的NIO庫允許java程序使用直接內(nèi)存帅戒。直接內(nèi)存是在java堆外的、直接向系統(tǒng)申請(qǐng)的內(nèi)存空間崖技。通常訪問直接內(nèi)存的速度會(huì)優(yōu)于java堆蜘澜。因此出于性能的考慮,讀寫頻繁的場合可能會(huì)考慮使用直接內(nèi)存响疚。由于直接內(nèi)存在java堆外,因此它的大小不會(huì)直接受限于Xmx指定的最大堆大小瞪醋,但是系統(tǒng)內(nèi)存是有限的忿晕,java堆和直接內(nèi)存的總和依然受限于操作系統(tǒng)能給出的最大內(nèi)存。

4)垃圾回收系統(tǒng)是java虛擬機(jī)的重要組成部分银受,垃圾回收器可以對(duì)方法區(qū)践盼、java堆和直接內(nèi)存進(jìn)行回收。其中宾巍,java堆是垃圾收集器的工作重點(diǎn)咕幻。和C/C++不同,java中所有的對(duì)象空間釋放都是隱式的顶霞,也就是說肄程,java中沒有類似free()或者delete()這樣的函數(shù)釋放指定的內(nèi)存區(qū)域。對(duì)于不再使用的垃圾對(duì)象选浑,垃圾回收系統(tǒng)會(huì)在后臺(tái)默默工作蓝厌,默默查找、標(biāo)識(shí)并釋放垃圾對(duì)象古徒,完成包括java堆拓提、方法區(qū)和直接內(nèi)存中的全自動(dòng)化管理。

5)每一個(gè)java虛擬機(jī)線程都有一個(gè)私有的java棧隧膘,一個(gè)線程的java棧在線程創(chuàng)建的時(shí)候被創(chuàng)建代态,java棧中保存著幀信息,java棧中保存著局部變量疹吃、方法參數(shù)蹦疑,同時(shí)和java方法的調(diào)用、返回密切相關(guān)萨驶。

6)本地方法棧和java棧非常類似必尼,最大的不同在于java棧用于方法的調(diào)用,而本地方法棧則用于本地方法的調(diào)用,作為對(duì)java虛擬機(jī)的重要擴(kuò)展判莉,java虛擬機(jī)允許java直接調(diào)用本地方法(通常使用C編寫)

7)PC(Program Counter)寄存器也是每一個(gè)線程私有的空間豆挽,java虛擬機(jī)會(huì)為每一個(gè)java線程創(chuàng)建PC寄存器。在任意時(shí)刻券盅,一個(gè)java線程總是在執(zhí)行一個(gè)方法帮哈,這個(gè)正在被執(zhí)行的方法稱為當(dāng)前方法。如果當(dāng)前方法不是本地方法锰镀,PC寄存器就會(huì)指向當(dāng)前正在被執(zhí)行的指令娘侍。如果當(dāng)前方法是本地方法,那么PC寄存器的值就是undefined

8)執(zhí)行引擎是java虛擬機(jī)的最核心組件之一泳炉,它負(fù)責(zé)執(zhí)行虛擬機(jī)的字節(jié)碼憾筏,現(xiàn)代虛擬機(jī)為了提高執(zhí)行效率,會(huì)使用即時(shí)編譯技術(shù)將方法編譯成機(jī)器碼后再執(zhí)行

說一下 jvm 運(yùn)行時(shí)數(shù)據(jù)區(qū)花鹅?


圖片發(fā)自簡書App

https://www.cnblogs.com/yulinfeng/p/7153391.html

說一下堆棧的區(qū)別氧腰?

https://blog.csdn.net/pt666/article/details/70876410

隊(duì)列和棧是什么?有什么區(qū)別刨肃?

什么是雙親委派模型古拴?


說一下類加載的執(zhí)行過程?

怎么判斷對(duì)象是否可以被回收真友?

java 中都有哪些引用類型黄痪?

說一下 jvm 有哪些垃圾回收算法?

說一下 jvm 有哪些垃圾回收器盔然?

詳細(xì)介紹一下 CMS 垃圾回收器桅打?

新生代垃圾回收器和老生代垃圾回收器都有哪些?有什么區(qū)別愈案?

簡述分代垃圾回收器是怎么工作的油额?

說一下 jvm 調(diào)優(yōu)的工具?

常用的 jvm 調(diào)優(yōu)的參數(shù)都有哪些刻帚?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末潦嘶,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子崇众,更是在濱河造成了極大的恐慌掂僵,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件顷歌,死亡現(xiàn)場離奇詭異锰蓬,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)眯漩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門芹扭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來麻顶,“玉大人,你說我怎么就攤上這事舱卡「ㄉ觯” “怎么了?”我有些...
    開封第一講書人閱讀 164,548評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵轮锥,是天一觀的道長矫钓。 經(jīng)常有香客問我,道長舍杜,這世上最難降的妖魔是什么新娜? 我笑而不...
    開封第一講書人閱讀 58,657評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮既绩,結(jié)果婚禮上概龄,老公的妹妹穿的比我還像新娘。我一直安慰自己饲握,他們只是感情好私杜,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,689評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著互拾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪嚎幸。 梳的紋絲不亂的頭發(fā)上颜矿,一...
    開封第一講書人閱讀 51,554評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音嫉晶,去河邊找鬼骑疆。 笑死蹋笼,一個(gè)胖子當(dāng)著我的面吹牛扰肌,可吹牛的內(nèi)容都是我干的搀暑。 我是一名探鬼主播几于,決...
    沈念sama閱讀 40,302評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼叠萍,長吁一口氣:“原來是場噩夢啊……” “哼物邑!你這毒婦竟也來了昼钻?” 一聲冷哼從身側(cè)響起袁余,我...
    開封第一講書人閱讀 39,216評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤状答,失蹤者是張志新(化名)和其女友劉穎冷守,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體惊科,經(jīng)...
    沈念sama閱讀 45,661評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡拍摇,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,851評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了馆截。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片充活。...
    茶點(diǎn)故事閱讀 39,977評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡蜂莉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出混卵,到底是詐尸還是另有隱情映穗,我是刑警寧澤,帶...
    沈念sama閱讀 35,697評(píng)論 5 347
  • 正文 年R本政府宣布淮菠,位于F島的核電站男公,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏合陵。R本人自食惡果不足惜枢赔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拥知。 院中可真熱鬧踏拜,春花似錦、人聲如沸低剔。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽襟齿。三九已至姻锁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間猜欺,已是汗流浹背位隶。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評(píng)論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留开皿,地道東北人涧黄。 一個(gè)月前我還...
    沈念sama閱讀 48,138評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像赋荆,于是被迫代替她去往敵國和親笋妥。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,927評(píng)論 2 355

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