總結(jié)

1冰抢、String、StringBuffer和StringBuilder的區(qū)別

String是不可變對象,每次對其操作都等同于生成一個(gè)新的String對象单鹿,每次操作后指針指向新的對象馏予,當(dāng)內(nèi)存中存在較多無用的對象后天梧,GC就會開始工作,導(dǎo)致速度很慢霞丧,而StringBufferStringBuilder每次操作都是對自己本身進(jìn)行操作呢岗,兩個(gè)都是利用緩沖區(qū),這樣提升了速度蛹尝,但是StringBuffer是線程安全的后豫,而StringBuilder是非線程安全的,速度會快一些突那。創(chuàng)建String對象時(shí)一般是會先在字符串常量區(qū)創(chuàng)建一個(gè)對象然后賦值挫酿,這里在類加載的時(shí)候是涉及到兩個(gè)對象,但是在程序執(zhí)行過程中是創(chuàng)建了一個(gè)對象愕难。

2早龟、GC的概念。循環(huán)引用的對象能否被回收猫缭?

GC就是JVM中的內(nèi)存進(jìn)行標(biāo)記葱弟,判斷哪些內(nèi)存需要回收,根據(jù)一定的回收策略自動回收相關(guān)內(nèi)存猜丹,防止出現(xiàn)內(nèi)存泄漏的情況芝加。循環(huán)應(yīng)用的對象也是可以被回收的,因?yàn)?code>GC回收對象不僅僅考慮對象是否被引用射窒,還要看對象是否被至少一個(gè)GC roots對象直接或間接引用藏杖。這里GC roots有:
a.每個(gè)線程當(dāng)前的函數(shù)調(diào)用棧将塑,從棧頂?shù)綏5椎拿總€(gè)函數(shù)里的局部變量
b.靜態(tài)變量
c.被JNI引用的變量

3、Java中的內(nèi)存溢出是如何造成的制市?

(1)首先要知道Java中的內(nèi)存是如何管理的:在Java程序中抬旺,我們通常使用new為對象分配內(nèi)存,而這些內(nèi)存空間都在堆(Heap)上祥楣。java中對象之間的引用關(guān)系像一條鏈子开财,每分配一個(gè)新的對象,堆指針就會向后移動误褪,當(dāng)移動到內(nèi)存的最終地址责鳍,內(nèi)存就耗盡了,此時(shí)GC就會參與進(jìn)來回收不再使用的內(nèi)存兽间,當(dāng)然回收的策略有很多历葛。
(2)java內(nèi)存泄漏其實(shí)就是不再被使用的對象的內(nèi)存不能被回收。比如一個(gè)類中維護(hù)了一個(gè)對象實(shí)例嘀略,而我們希望這個(gè)實(shí)例只作用于某個(gè)方法中恤溶,但是當(dāng)這個(gè)方法運(yùn)行完了之后此對象占用的內(nèi)存是不會被釋放的,只有在類創(chuàng)建的實(shí)例對象被釋放后此對象才能被釋放帜羊,嚴(yán)格來說這就是一種內(nèi)存泄漏咒程,解決方法就是將類中維護(hù)的實(shí)例放到方法中去維護(hù),這樣當(dāng)方法執(zhí)行完后此實(shí)例也會被釋放讼育。
(3)一般解決內(nèi)存泄漏的方法就是盡量減小對象的作用域帐姻,對象不用后設(shè)置為null,還有各類close方法奶段。如數(shù)據(jù)庫連接饥瓷、網(wǎng)絡(luò)連接、IO連接痹籍,單例也會造成內(nèi)存泄漏呢铆,可以使用同步解決。

4词裤、高并發(fā)下線程安全的單例模式

一般單例模式有餓漢式與懶漢式刺洒,但是在多線程中極易出現(xiàn)線程沖突,解決方法有很多吼砂,如對單例模式進(jìn)行同步,推薦的方式是雙檢查鎖機(jī)制鼎文,其實(shí)就是首先判斷是否不為空渔肩,不為空直接獲取拇惋;否則就需要同步周偎,同步之后再加一個(gè)判空來實(shí)現(xiàn)抹剩。當(dāng)然還有維護(hù)靜態(tài)實(shí)例(static和枚舉都行)等方式。

5蓉坎、異常機(jī)制

異常有很多澳眷,如文件找不到、網(wǎng)絡(luò)連接失敗等蛉艾。異常Throwable分為Exception異常和Error錯(cuò)誤钳踊。Erro是程序自己無法處理的,而Exception是程序本身可以處理的異常勿侯。Exception又分為IO異常和RuntimeException異常拓瞪。而總的來說,異常分為可檢查的異常助琐,編譯器要求必須處理祭埂;不可檢查異常就是Error和運(yùn)行時(shí)異常。運(yùn)行時(shí)異常都是RuntimeException的子類兵钮。異常處理一般可以捕獲和拋出蛆橡,常見的運(yùn)行時(shí)異常如NullPointerException UnknowTypeException、ClassNotFoundException等掘譬。

6泰演、HashMap中的key。

jdk8key是可以為null的屁药,但是不是所有對象都能作為key粥血,比如可變對象,當(dāng)使用可變對象作為key的時(shí)候很容易造成數(shù)據(jù)丟失酿箭,一般如果要將可變對象作為key复亏,一定要保證在修改其中的某些字段的時(shí)候保證其hashcode值不變。

7缭嫡、守護(hù)線程分為用戶守護(hù)線程和Daemon守護(hù)線程缔御。

只要當(dāng)前JVM中存在任何一個(gè)非守護(hù)線程沒有結(jié)束,那么守護(hù)線程就工作妇蛀,守護(hù)線程最典型的應(yīng)用就是GC耕突。我們可以自己設(shè)置守護(hù)線程,但是必須在線程運(yùn)行之前评架,我們不能將一個(gè)正在運(yùn)行的線程設(shè)置為守護(hù)線程眷茁。

8、對SQL進(jìn)行優(yōu)化的原則

(1)使用索引來更快地遍歷表
(2)不能用null作索引
(3)EXISTS要遠(yuǎn)比IN的效率高
(4)在海量查詢時(shí)盡量少用格式轉(zhuǎn)換
(5)循環(huán)中不要使用變量

9纵诞、數(shù)據(jù)庫存儲引擎上祈,存儲數(shù)據(jù)結(jié)構(gòu)

ISAM讀取操作快,占用資源少,但是不支持事務(wù)和容錯(cuò)登刺;
MYISAM使用表格索引機(jī)制籽腕,來優(yōu)化多個(gè)并發(fā)的讀寫操作
INNODB支持對事務(wù)的處理,支持外來鍵

10纸俭、樂觀鎖皇耗、悲觀鎖

悲觀鎖大多數(shù)情況下依靠數(shù)據(jù)庫的鎖機(jī)制實(shí)現(xiàn),以保證操作最大程度的獨(dú)占性揍很,但這使得數(shù)據(jù)庫開銷太大郎楼,特別是長事物。樂觀鎖大多是基于數(shù)據(jù)庫版本記錄機(jī)制實(shí)現(xiàn)的女轿,即為數(shù)據(jù)增加一個(gè)版本標(biāo)識箭启,讀取數(shù)據(jù)時(shí)將版本號一同讀出,對此版本號加一蛉迹,然后當(dāng)前版本數(shù)據(jù)進(jìn)行對比傅寡,如果版本號大于當(dāng)前的版本號,則更新北救,否則認(rèn)為是過期數(shù)據(jù)荐操。

java中的悲觀鎖和數(shù)據(jù)庫中的悲觀鎖類似,而樂觀鎖是假設(shè)完成某項(xiàng)操作不會產(chǎn)生沖突珍策,當(dāng)在完成過程中發(fā)生沖突則重試托启,直到成功為止。

11攘宙、Mybatis的工作原理

查看筆記中內(nèi)容屯耸。

12、IO(BIO)與NIO蹭劈、AIO(NIO2)的區(qū)別疗绣,阻塞與非阻塞的區(qū)別

IO是同步阻塞式,就是每次只能為一個(gè)請求服務(wù)铺韧,每個(gè)請求在處理過程中會阻塞其他請求多矮,當(dāng)并發(fā)量較高時(shí)不可用,于是有了偽異步IO哈打,這是用線程池來解決的塔逃。當(dāng)某個(gè)請求沒有得到響應(yīng),則會一直阻塞料仗。
NIO是同步非阻塞式湾盗。使用全雙工通道Channel和多路復(fù)用器Selector實(shí)現(xiàn),可以同時(shí)進(jìn)行讀寫操作立轧,Selector會不斷輪詢注冊在其上 通道淹仑,如果哪個(gè)通道準(zhǔn)備好了就為其服務(wù)丙挽。
AIO是異步非阻塞式肺孵,AIO提供了異步通道匀借,并提供了異步文件通道和異步套接字的實(shí)現(xiàn),異步套接字時(shí)真正的異步非阻塞IO平窘。這種IO的讀寫都是異步的吓肋。

13、海量數(shù)據(jù)分析

14瑰艘、多線程

Hibernate一級和二級緩存是鬼,其他緩存,事物傳播行為種類紫新,如何實(shí)現(xiàn)申明式事務(wù)
restful的好處均蜜,有幾種請求,表單如何提交put請求
web中安全問題的考慮如何防止芒率,web系統(tǒng)整體架構(gòu)

一囤耳、
1、hashmap偶芍、concurrenthashmap的底層實(shí)現(xiàn)和區(qū)別充择;
2、spring框架的原理
3匪蟀、如何寫一個(gè)orm框架
4椎麦、hibernate一級和二級緩存,其他緩存
5材彪、hibernate事務(wù)傳播行為種類
6观挎、springmvc原理
7、restful的好處
8段化、restful有幾種請求嘁捷,表單如何提交put請求
9、web中安全問題的考慮穗泵,如何防止
10普气、web系統(tǒng)整體架構(gòu)
11、hibernate如何實(shí)現(xiàn)聲明式事務(wù)
12佃延、java并發(fā)包
13现诀、volatile
14、spring底層數(shù)據(jù) 結(jié)構(gòu)
15履肃、如何進(jìn)行反射仔沿,如何提高反射的性能
16、如何實(shí)現(xiàn)java的代理尺棋,為什么需要實(shí)現(xiàn)接口
18封锉、三次握手
19、springmvc有哪些注解

二、
1成福、什么是restful web service
2碾局、并發(fā)集合
3、項(xiàng)目中使用的數(shù)據(jù)結(jié)構(gòu)
4奴艾、TCP中斷連接四次揮手
5净当、http和https
6、知道哪些鎖
7蕴潦、JVM內(nèi)存
8像啼、springcloud相關(guān)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市潭苞,隨后出現(xiàn)的幾起案子忽冻,更是在濱河造成了極大的恐慌,老刑警劉巖此疹,帶你破解...
    沈念sama閱讀 216,324評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件僧诚,死亡現(xiàn)場離奇詭異,居然都是意外死亡秀菱,警方通過查閱死者的電腦和手機(jī)振诬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來衍菱,“玉大人赶么,你說我怎么就攤上這事〖勾” “怎么了辫呻?”我有些...
    開封第一講書人閱讀 162,328評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長琼锋。 經(jīng)常有香客問我放闺,道長,這世上最難降的妖魔是什么缕坎? 我笑而不...
    開封第一講書人閱讀 58,147評論 1 292
  • 正文 為了忘掉前任怖侦,我火速辦了婚禮,結(jié)果婚禮上谜叹,老公的妹妹穿的比我還像新娘匾寝。我一直安慰自己,他們只是感情好荷腊,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評論 6 388
  • 文/花漫 我一把揭開白布艳悔。 她就那樣靜靜地躺著,像睡著了一般女仰。 火紅的嫁衣襯著肌膚如雪猜年。 梳的紋絲不亂的頭發(fā)上抡锈,一...
    開封第一講書人閱讀 51,115評論 1 296
  • 那天,我揣著相機(jī)與錄音乔外,去河邊找鬼床三。 笑死,一個(gè)胖子當(dāng)著我的面吹牛袁稽,可吹牛的內(nèi)容都是我干的勿璃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,025評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼推汽,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了歧沪?” 一聲冷哼從身側(cè)響起竟闪,我...
    開封第一講書人閱讀 38,867評論 0 274
  • 序言:老撾萬榮一對情侶失蹤峭弟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體溉仑,經(jīng)...
    沈念sama閱讀 45,307評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評論 2 332
  • 正文 我和宋清朗相戀三年肆氓,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了去枷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,688評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡邪码,死狀恐怖裕菠,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情闭专,我是刑警寧澤奴潘,帶...
    沈念sama閱讀 35,409評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站影钉,受9級特大地震影響画髓,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜平委,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評論 3 325
  • 文/蒙蒙 一奈虾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧廉赔,春花似錦肉微、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至岗照,卻和暖如春村象,著一層夾襖步出監(jiān)牢的瞬間笆环,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評論 1 268
  • 我被黑心中介騙來泰國打工厚者, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留躁劣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評論 2 368
  • 正文 我出身青樓库菲,卻偏偏與公主長得像账忘,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子熙宇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評論 2 353

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