JavaBase-2

我是fattiger--胖小虎

如果讀完覺得有收獲的話警儒,歡迎關(guān)注贊賞竿奏。

轉(zhuǎn)載請(qǐng)注明原創(chuàng)出處袄简,多謝大家。

前言:大多數(shù)成功的人贏在時(shí)間管理上泛啸。最近在考慮時(shí)間規(guī)劃的問(wèn)題绿语,小到每天,大到每年候址,我們?nèi)绾卧谟邢薜纳新来猓フ莆漳菬o(wú)限的知識(shí),講到這里我想起一個(gè)人達(dá)芬奇岗仑,真是開掛的一生匹耕,只要他感興趣的領(lǐng)域,他就能成為這個(gè)領(lǐng)域的專家荠雕,感興趣的朋友可以了解一下他一生的成就稳其。上篇博文提到了迷失,這篇說(shuō)說(shuō)如何讓自己的定位及目標(biāo)更清晰炸卑,我們要有一點(diǎn)善于歸納總結(jié)的能力既鞠,在一個(gè)領(lǐng)域三到五年或多或少能說(shuō)出自己理解的一些東西,即使再笨多人耳濡目染的也會(huì)在自己大腦里形成一些片段性的知識(shí)盖文,為什么說(shuō)是片段性的知識(shí)嘱蛋,因?yàn)樗蓄I(lǐng)域都像一個(gè)無(wú)限延伸的樹網(wǎng),由節(jié)點(diǎn)開始慢慢的往四周蔓延五续,也會(huì)交叉到其他的領(lǐng)域的網(wǎng)樹洒敏,如果不你停下來(lái)總結(jié)一下,你了解的只是網(wǎng)樹的一部分疙驾,或者說(shuō)是一個(gè)小分支凶伙,很難從全局角度考慮,你在這樹網(wǎng)中處于什么位置荆萤,如果你有幸接觸一些镊靴,反而有種掉入樹網(wǎng)中的感覺,你接觸的信息和你以前掌握的知識(shí)短節(jié)了链韭,你所在的節(jié)點(diǎn)連不到你掌握的節(jié)點(diǎn)偏竟,所以你迷失了,都不知道從何學(xué)起敞峭。那我們現(xiàn)在何不把自己熟悉領(lǐng)域的知識(shí)網(wǎng)給畫出來(lái)踊谋,搭建屬于自己的一套知識(shí)體系架構(gòu),找出你職業(yè)所需知識(shí)的架構(gòu)主干旋讹,然后把知識(shí)從初級(jí)到中級(jí)到高級(jí)逐級(jí)的掌握殖蚕,來(lái)豐富自己搭建的知識(shí)體系轿衔。本篇還是會(huì)從基礎(chǔ)談起,因?yàn)閭€(gè)人感覺睦疫,以后我可能展開的JDK源碼解析害驹、中間件源碼解析,所有的一切一切蛤育,都離不開數(shù)據(jù)結(jié)構(gòu)和算法宛官,所以要把基礎(chǔ)的東西學(xué)扎實(shí),達(dá)到面試中所提到的要求-有扎實(shí)的基礎(chǔ)瓦糕。

2.特殊方法說(shuō)明

2.1 Object基類方法說(shuō)明

getClass()

類的加載機(jī)制 雙親委派的好處 tomcat類加載機(jī)制

加載的類信息都可以來(lái)自哪里底洗?

equals()

對(duì)稱:x.equals(y) y.equals(x) 結(jié)果一樣

反射:x.equals(x) == true

類推:x.equals(y) y.equals(z) ->z.equals(x)

一致:x.equals(y) 執(zhí)行多少次 結(jié)果不變

x.equals(null) == false;x.equals(和x不同類型的對(duì)象)==false

Java約定的規(guī)范原則1咕娄、如果兩個(gè)對(duì)象相同亥揖,那么它們的hashCode值一定要相同圣勒;2费变、如果兩個(gè)對(duì)象的hashCode相同,它們并不一定相同

為什么覆寫equals的時(shí)候一定要覆寫hashCode?

如果class不可能放在hash code為基礎(chǔ)的容器內(nèi)圣贸,不必override hashCode()胡控,

例如HashMap和Hashtable里面如果是作為value而不是作為key的話也是不必override hashCode了

如果放在對(duì)象做了hashcode的操作,反而沒有override hashCode(),會(huì)出現(xiàn)一下兩種情況

1旁趟、如果equals為true hashCode不等的b作為get參數(shù)的話,這個(gè)時(shí)候b算出來(lái)的數(shù)組下標(biāo)一定不是a所在的下標(biāo)位置

2庇绽、如果equals為false hashCode相等的b作為get參數(shù)的話锡搜,這個(gè)時(shí)候b算出來(lái)的數(shù)組下標(biāo)是對(duì)了,但是用equals來(lái)尋找相符的key了

混亂的根本就是錯(cuò)誤實(shí)現(xiàn)hashCode和equals,所以說(shuō)必須按照約定的規(guī)范來(lái)瞧掺。

hashCode()

native方法 JVM生成的標(biāo)識(shí)此對(duì)象的一個(gè)整形數(shù)據(jù)

String的hashCode算法耕餐?s[0]*31^(n-1)+s[1]*31^(n-2)……..+s[n-1]->h=31*h+val[i]

hash沖突的解決辦法?1辟狈、地址鏈法(HashMap key沖突后會(huì)在在所在沖突索引處的節(jié)點(diǎn)上形成單向鏈表)

HashMap的Hash函數(shù)為什么要這么設(shè)計(jì)肠缔,HashTable呢 int index = (hash & 0x7FFFFFFF) % tab.length;

為什么先判斷hashcode,在判斷equals()?

toString()

getClass().getName() + “@” + Integer.toHexString(hashCode()); 類的全限定名 + @ + 十進(jìn)制的哈希碼轉(zhuǎn)換為16進(jìn)制的

wait() wait(time) wait(time,nanos) notify() notifyAll()

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

Thread.sleep()與Object.wait()二者都可以暫停當(dāng)前線程哼转,釋放CPU控制權(quán)明未,主要的區(qū)別在于Object.wait()在釋放CPU同時(shí),釋放了對(duì)象鎖的控制壹蔓。

調(diào)用Thread的wait方法含義

wait的參數(shù)趟妥,一個(gè)參數(shù)和兩個(gè)參數(shù)的區(qū)別 怎么判斷wait是超時(shí)返回還是其他線程通知返回的呢?

設(shè)置全局標(biāo)記 在其他線程中修改標(biāo)記 對(duì)超時(shí)時(shí)間進(jìn)行判斷 如果線程wait結(jié)束的時(shí)間大于等于超時(shí)時(shí)間 說(shuō)明是超時(shí)的

怎么查看處于wait狀態(tài)的線程 ?jstack

clone()

淺拷貝佣蓉,深拷貝

clone怎么做深拷貝披摄,還有其他方式做深拷貝么 序列化

為什么java已經(jīng)有了clone方法亲雪,還要實(shí)現(xiàn)一個(gè)Cloneable接口呢 Cloneable接口是不包含任何方法的!

其實(shí)這個(gè)接口僅僅是一個(gè)標(biāo)志疚膊,而且這個(gè)標(biāo)志也僅僅是針對(duì) Object類中clone()方法的义辕,如果clone類沒有實(shí)現(xiàn)Cloneable接口,

并調(diào)用了Object的clone()方法(也就是調(diào)用了 super.Clone()方法)寓盗,那么Object的clone()方法就會(huì)拋出CloneNotSupportedException異常灌砖。

類似Serializable接口,接口也是空的贞让,實(shí)現(xiàn)序列化操作類必須實(shí)現(xiàn)此接口周崭。

finalize()

怎么阻止一個(gè)非根引用對(duì)象被回收? 接到根引用對(duì)象上

一個(gè)空的Object占用多少內(nèi)存,如果里面有空的boolean和int呢

32bit系統(tǒng) 和 64 bit系統(tǒng)的區(qū)別

64bit JVM是否開啟指針壓縮的區(qū)別

對(duì)象頭 ???16 12

基本數(shù)據(jù) ?不變

引用類型 ?8 4

數(shù)組? ? ? 24 16

參考 http://www.cnblogs.com/magialmoon/p/3757767.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末喳张,一起剝皮案震驚了整個(gè)濱河市续镇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌销部,老刑警劉巖摸航,帶你破解...
    沈念sama閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異舅桩,居然都是意外死亡酱虎,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門擂涛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)读串,“玉大人,你說(shuō)我怎么就攤上這事撒妈』峙” “怎么了?”我有些...
    開封第一講書人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵狰右,是天一觀的道長(zhǎng)杰捂。 經(jīng)常有香客問(wèn)我,道長(zhǎng)棋蚌,這世上最難降的妖魔是什么嫁佳? 我笑而不...
    開封第一講書人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮谷暮,結(jié)果婚禮上蒿往,老公的妹妹穿的比我還像新娘。我一直安慰自己坷备,他們只是感情好熄浓,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般赌蔑。 火紅的嫁衣襯著肌膚如雪俯在。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,079評(píng)論 1 285
  • 那天娃惯,我揣著相機(jī)與錄音跷乐,去河邊找鬼。 笑死趾浅,一個(gè)胖子當(dāng)著我的面吹牛愕提,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播皿哨,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼浅侨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了证膨?” 一聲冷哼從身側(cè)響起如输,我...
    開封第一講書人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎央勒,沒想到半個(gè)月后不见,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡崔步,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年稳吮,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片井濒。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡灶似,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瑞你,到底是詐尸還是另有隱情喻奥,我是刑警寧澤,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布捏悬,位于F島的核電站,受9級(jí)特大地震影響润梯,放射性物質(zhì)發(fā)生泄漏过牙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一纺铭、第九天 我趴在偏房一處隱蔽的房頂上張望寇钉。 院中可真熱鬧,春花似錦舶赔、人聲如沸扫倡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撵溃。三九已至疚鲤,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間缘挑,已是汗流浹背集歇。 一陣腳步聲響...
    開封第一講書人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留语淘,地道東北人诲宇。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像惶翻,于是被迫代替她去往敵國(guó)和親姑蓝。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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

  • 對(duì)象的創(chuàng)建與銷毀 Item 1: 使用static工廠方法吕粗,而不是構(gòu)造函數(shù)創(chuàng)建對(duì)象:僅僅是創(chuàng)建對(duì)象的方法纺荧,并非Fa...
    孫小磊閱讀 1,963評(píng)論 0 3
  • 1.面向?qū)ο蟮奶卣饔心男┓矫妫?抽象:抽象是將一類對(duì)象的共同特征總結(jié)出來(lái)構(gòu)造類的過(guò)程,包括數(shù)據(jù)抽象和行為抽象兩方面...
    浪花易逝閱讀 644評(píng)論 0 5
  • 此文已經(jīng)同步至個(gè)人站點(diǎn)博客溯泣,點(diǎn)擊下方鏈接可以體驗(yàn)更加閱讀模式:《java題庫(kù)》 1.Hashcode 的作用 對(duì)于...
    千淘萬(wàn)漉閱讀 2,690評(píng)論 0 3
  • Object類是Java中其他所有類的祖先虐秋,沒有Object類Java面向?qū)ο鬅o(wú)從談起。作為其他所有類的基類垃沦,Ob...
    時(shí)待吾閱讀 470評(píng)論 0 1
  • 本系列出于AWeiLoveAndroid的分享客给,在此感謝,再結(jié)合自身經(jīng)驗(yàn)查漏補(bǔ)缺肢簿,完善答案靶剑。以成系統(tǒng)。 Java基...
    濟(jì)公大將閱讀 1,524評(píng)論 1 6