20171116Java面試題

1.== 和 equals的區(qū)別?
== 比較的是兩個變量的值是否相等,也就是用于比較變量所對應的內(nèi)存中
所存儲的數(shù)值是否相等. 要比較兩個基本類型的數(shù)據(jù)或兩個引用變量是否
相等,只能用==操作符。
equals方法是用于比較兩個獨立對象的內(nèi)容是否相同,就好比去比較兩個
人的長相是否相同,它比較的兩個對象是獨立的。
2.Array和ArrayList之間的區(qū)別?
1. Array類型的變量在聲明的同時必須進行實例化(至少得初始化數(shù)組的
大小)恋脚,而ArrayList可以只是先聲明。
2. Array只能存儲同構(gòu)的對象钙态,而ArrayList可以存儲異構(gòu)的對象慧起。
同構(gòu)的對象是指類型相同的對象.而ArrayList可以存放任何不同類型的數(shù)據(jù)
3 在CLR托管對中的存放方式:Array是始終是連續(xù)存放的,而ArrayList的
存放不一定連續(xù)册倒。
4 初始化大小
Array對象的初始化必須只定指定大小蚓挤,且創(chuàng)建后的數(shù)組大小是固定的,
而ArrayList的大小可以動態(tài)指定,其大小可以在初始化時指定灿意,也可以不指
定估灿,也就是說該對象的空間可以任意增加。

Array和ArrayList的相似點
1 都具有索引(index),即可以通過index來直接獲取和修改任意項缤剧。
2 他們所創(chuàng)建的對象都放在托管堆中馅袁。
3 都能夠?qū)ψ陨磉M行枚舉(因為都實現(xiàn)了IEnumerable接口)。
ArrayList的一些特性
3. Redis 常見的性能問題和解決方法
性能問題:
1.Master寫內(nèi)存快照荒辕,save命令調(diào)度rdbSave函數(shù)汗销,會阻塞主線程的工作,
當快照比較大時對性能影響是非常大的抵窒,會間斷性暫停服務弛针,所以Master最
好不要寫內(nèi)存快照。
2.Master AOF持久化李皇,如果不重寫AOF文件削茁,這個持久化方式對性能的影響
是最小的,但是AOF文件會不斷增大掉房,AOF文件過大會影響Master重啟的恢復
速度
3.Master調(diào)用BGREWRITEAOF重寫AOF文件茧跋,AOF在重寫的時候會占大量的C
PU和內(nèi)存資源,導致服務load過高卓囚,出現(xiàn)短暫服務暫婉迹現(xiàn)象。
4.Redis主從復制的性能問題哪亿,Redis的主從復制是建立在內(nèi)存快照的持久化
基礎上富寿,只要有Slave就一定會有內(nèi)存快照發(fā)生。雖然Redis宣稱主從復制無
阻塞锣夹,但由于磁盤io的限制,如果Master快照文件比較大苏潜,那么dump會耗費
比較長的時間银萍,這個過程中Master可能無法響應請求,也就是說服務會中斷恤左,
對于關鍵服務贴唇,這個后果也是很可怕的。
5.單點故障問題飞袋,由于目前Redis的主從復制還不夠成熟戳气,所以存在明顯的單
點故障問題,這個目前只能自己做方案解決巧鸭,如:主動復制

解決方法:
1.Master最好不要做任何持久化工作瓶您,包括內(nèi)存快照和AOF日志文件,特別是
不要啟用內(nèi)存快照做持久化。
2.如果數(shù)據(jù)比較關鍵呀袱,某個Slave開啟AOF備份數(shù)據(jù)贸毕,策略為每秒同步一次。
3.為了主從復制的速度和連接的穩(wěn)定性夜赵,Slave和Master最好在同一個局域網(wǎng)
內(nèi)明棍。
4.盡量避免在壓力較大的主庫上增加從庫
5.為了Master的穩(wěn)定性,主從復制不要用圖狀結(jié)構(gòu)寇僧,用單向鏈表結(jié)構(gòu)更穩(wěn)定摊腋,
即主從關系為:Master<--Slave1<--Slave2<--Slave3.......,這樣的
結(jié)構(gòu)也方便解決單點故障問題嘁傀,實現(xiàn)Slave
4.GC是什么兴蒸,為什么會有GC?顯示調(diào)用GC會立即進行垃圾回收嗎?為什么?
- GC: GC是垃圾收集的意思.特指java中jvm的垃圾回收機制.
- GC存在的原因:及時的清理內(nèi)存,讓程序執(zhí)行更流暢,避免內(nèi)存泄漏和浪費資源.
java的垃圾回收不需要程序員手動去處理,而是jvm自動的進行.讓程序員更注重
業(yè)務開發(fā).
- 但是gc本身是一個單獨的線程,而且是一個優(yōu)先級很低的線程.不可預知的情況
下對內(nèi)存堆中已經(jīng)死亡的或者長時間沒有使用的對象進行清除和回收,程序員不能
實時的調(diào)用垃圾回收器對某個對象或所有對象進行垃圾回收心包。
- 垃圾回收主要是對jvm的堆進行操作.
- 顯示調(diào)用GC不會立即進行垃圾回收,因為他是一個優(yōu)先級比較低的線程,所以當
時如果有其他線程在運行就不會立即執(zhí)行垃圾回收.

5.Java 中會存在內(nèi)存泄漏嗎类咧,請簡單描述。
理論上Java因為有垃圾回收機制(GC)不會存在內(nèi)存泄露問題(這也是Java被廣泛使用于服務
器端編程的一個重要原因)蟹腾;然而在實際開發(fā)中痕惋,可能會存在無用但可達的對象,這些對象不能
被GC回收也會發(fā)生內(nèi)存泄露娃殖。一個例子就是Hibernate的Session(一級緩存)中的對象屬于持
久態(tài)值戳,垃圾回收器是不會回收這些對象的,然而這些對象中可能存在無用的垃圾對象炉爆。
6.MQ(消息隊列)是什么堕虹,應用場景有哪些?
MQ是系統(tǒng)之間進行通信。使用Activemq的話可以對系統(tǒng)之間的調(diào)用進行解耦芬首,實現(xiàn)系統(tǒng)間的異
步通信赴捞。原理就是生產(chǎn)者生產(chǎn)消息,把消息發(fā)送給activemq郁稍。Activemq接收到消息赦政,然后查
看有多少個消費者,然后把消息轉(zhuǎn)發(fā)給消費者耀怜,此過程中生產(chǎn)者無需參與恢着。消費者接收到消息后
做相應的處理和生產(chǎn)者沒有任何關系。

應用場景:在項目中主要是完成系統(tǒng)之間通信财破,并且將系統(tǒng)之間的調(diào)用進行解耦掰派。例如在添加、
修改商品信息后左痢,需要將商品信息同步到索引庫靡羡、同步緩存中的數(shù)據(jù)以及生成靜態(tài)頁面一系列
操作系洛。在此場景下就可以使用activemq。一旦后臺對商品信息進行修改后亿眠,就向activemq發(fā)
送一條消息碎罚,然后通過activemq將消息發(fā)送給消息的消費端,消費端接收到消息可以進行相
應的業(yè)務處理

Activemq有兩種通信方式纳像,點到點形式和發(fā)布訂閱模式荆烈。如果是點到點模式的話,如果消息發(fā)
送不成功此消息默認會保存到activemq服務端知道有消費者將其消費竟趾,所以此時消息是不會丟
失的

如果是發(fā)布訂閱模式的通信方式憔购,默認情況下只通知一次,如果接收不到此消息就沒有了岔帽。這種場
景只適用于對消息送達率要求不高的情況玫鸟。如果要求消息必須送達不可以丟失的話,需要配置持
久訂閱犀勒。每個訂閱端定義一個id屎飘,在訂閱是向activemq注冊。發(fā)布消息和接收消息時需要配置
發(fā)送模式為持久化贾费。此時如果客戶端接收不到消息钦购,消息會持久化到服務端,直到客戶端正常接
收后為止
7.抽象類和接口的區(qū)別褂萧?
含有abstract修飾符的class即為抽象類
1.抽象類可以有構(gòu)造方法押桃,接口中不能有構(gòu)造方法。
2.抽象類中可以有普通成員變量导犹,接口中沒有普通成員變量
3.抽象類中可以包含非抽象的普通方法唱凯,接口中的所有方法必須都是抽象的,不能有非抽
象的普通方法 谎痢。
4. 抽象類中的抽象方法的訪問類型可以是public磕昼,protected和default,但接口中的
抽象方法只能是 public類型的节猿,并且默認即為public abstract類型掰烟。
5. 抽象類中可以包含靜態(tài)方法,接口中不能包含靜態(tài)方法
6. 抽象類和接口中都可以包含靜態(tài)成員變量沐批,抽象類中的靜態(tài)成員變量的訪問類型可以任意,
但接口 中定義的變量只能是public static final類型蝎亚,并且默認即為public static 
final類型九孩。
7. 一個類可以實現(xiàn)多個接口,但只能繼承一個抽象類发框。
8.遞歸與迭代的區(qū)別?
遞歸的基本概念:程序調(diào)用自身的編程技巧稱為遞歸,是函數(shù)自己調(diào)用自己.
使用遞歸要注意的有兩點:
1)遞歸就是在過程或函數(shù)里面調(diào)用自身;
2)在使用遞歸時,必須有一個明確的遞歸結(jié)束條件,稱為遞歸出口.
 
遞歸分為兩個階段:
1)遞推:把復雜的問題的求解推到比原問題簡單一些的問題的求解;
2)回歸:當獲得最簡單的情況后,逐步返回,依次得到復雜的解.
迭代:利用變量的原值推算出變量的一個新值.如果遞歸是自己調(diào)用自己的話,迭代就是A不
停的調(diào)用B.
遞歸中一定有迭代,但是迭代中不一定有遞歸,大部分可以相互轉(zhuǎn)換.能用迭代的不用遞歸,
遞歸調(diào)用函數(shù),浪費空間,并且遞歸太深容易造成堆棧的溢出.
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末躺彬,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌宪拥,老刑警劉巖仿野,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異她君,居然都是意外死亡脚作,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門缔刹,熙熙樓的掌柜王于貴愁眉苦臉地迎上來球涛,“玉大人,你說我怎么就攤上這事校镐∫诒猓” “怎么了?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵鸟廓,是天一觀的道長从祝。 經(jīng)常有香客問我,道長引谜,這世上最難降的妖魔是什么牍陌? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮煌张,結(jié)果婚禮上呐赡,老公的妹妹穿的比我還像新娘。我一直安慰自己骏融,他們只是感情好链嘀,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著档玻,像睡著了一般怀泊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上误趴,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天霹琼,我揣著相機與錄音,去河邊找鬼凉当。 笑死枣申,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的看杭。 我是一名探鬼主播忠藤,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼楼雹!你這毒婦竟也來了模孩?” 一聲冷哼從身側(cè)響起尖阔,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎榨咐,沒想到半個月后介却,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡块茁,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年齿坷,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片龟劲。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡胃夏,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出昌跌,到底是詐尸還是另有隱情仰禀,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布蚕愤,位于F島的核電站答恶,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏萍诱。R本人自食惡果不足惜悬嗓,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望裕坊。 院中可真熱鬧包竹,春花似錦、人聲如沸籍凝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽饵蒂。三九已至声诸,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間退盯,已是汗流浹背彼乌。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留渊迁,地道東北人慰照。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像琉朽,于是被迫代替她去往敵國和親毒租。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

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

  • 1. Java基礎部分 基礎部分的順序:基本語法漓骚,類相關的語法蝌衔,內(nèi)部類的語法,繼承相關的語法蝌蹂,異常的語法噩斟,線程的語...
    子非魚_t_閱讀 31,587評論 18 399
  • 基本概念 操作系統(tǒng)中 heap 和 stack 的區(qū)別 什么是基于注解的切面實現(xiàn) 什么是 對象/關系 映射集成模塊...
    Java紅茶閱讀 2,206評論 3 79
  • 劉郎才氣幾度聞 歡喜冤家俏佳人 生逢治世才華展 日光悠悠赤子心 快馬加鞭行不止 樂游宇內(nèi)善屬文 龍飛鳳舞奪天地 騰...
    夢花生閱讀 171評論 3 7
  • 大理夏令營結(jié)束了,回到廣州孤个,睡了兩天才緩過來剃允。不得不承認這不是簡單的體驗,而是真正意義上的一次磨礪身心的自然營地活...
    李玉芳閱讀 456評論 0 0
  • 什么是聲子 固體材料的熱傳導主要是由晶格振動的格波(聲子)來實現(xiàn),高溫時還可能有光子熱傳導给郊,而金屬材料中由于有大量...
    sanre123閱讀 9,626評論 0 1