JAVA 小知識(shí)點(diǎn)記錄 (一)

Question

1.關(guān)于try catch final 執(zhí)行順序問題:


 * java面試題20--如果catch里面有return語句浑侥,finally里面的代碼還會(huì)執(zhí)行嗎谷炸?
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(getInt());
    }
 
    public static int getInt() {
        int a = 10;
        try {
            System.out.println(a / 0);
            a = 20;
        } catch (ArithmeticException e) {
            a = 30;
            return a;
            /*
             * return a 在程序執(zhí)行到這一步的時(shí)候越锈,這里不是return a 而是 return 30莫换;這個(gè)返回路徑就形成了
             * 但是呢俯树,它發(fā)現(xiàn)后面還有finally,所以繼續(xù)執(zhí)行finally的內(nèi)容晕城,a=40
             * 再次回到以前的路徑,繼續(xù)走return 30叠纷,形成返回路徑之后,這里的a就不是a變量了勺择,而是常量30
             */
        } finally {
            a = 40;
        }
 
//      return a;
    }


  1. try catch final
/*
 * java面試題20--如果catch里面有return語句创南,finally里面的代碼還會(huì)執(zhí)行嗎?
 */
public class FinallyDemo2 {
    public static void main(String[] args) {
        System.out.println(getInt());
    }
 
    public static int getInt() {
        int a = 10;
        try {
            System.out.println(a / 0);
            a = 20;
        } catch (ArithmeticException e) {
            a = 30;
            return a;
            /*
             * return a 在程序執(zhí)行到這一步的時(shí)候酵幕,這里不是return a 而是 return 30扰藕;這個(gè)返回路徑就形成了
             * 但是呢,它發(fā)現(xiàn)后面還有finally芳撒,所以繼續(xù)執(zhí)行finally的內(nèi)容邓深,a=40
             * 再次回到以前的路徑,繼續(xù)走return 30,形成返回路徑之后笔刹,這里的a就不是a變量了芥备,而是常量30
             */
        } finally {
            a = 40;
            return a; //如果這樣,就又重新形成了一條返回路徑舌菜,由于只能通過1個(gè)return返回萌壳,所以這里直接返回40
        }
 
//      return a;
    }

結(jié)論

1).try 中如果發(fā)生異常,catch 會(huì)捕獲,如果在如果在catch中return 一個(gè)值,虛擬機(jī)會(huì)記錄這個(gè)值或者這個(gè)值的引用,如果在finally 中對(duì)這個(gè)值修改,引用會(huì)影響到返回值,但是int 這種的就不會(huì)了.因?yàn)闀?huì)把return 放到最后執(zhí)行,并且返回的是之前記錄的值,而不是代碼中看到的值
2).另外,如果在try 中發(fā)生異常,沒有catch 語句,只有finally 語句,并且在finally 中return 一個(gè)返回值,相當(dāng)于這次的異常被虛擬機(jī)拋棄,因?yàn)楹瘮?shù)仍然形成了閉環(huán),導(dǎo)致對(duì)于上層來說,相當(dāng)于函數(shù)依然正常執(zhí)行.

  1. 關(guān)于十進(jìn)制和十六進(jìn)制的加法規(guī)則


    image.png

    不難看出,debug 顯示十進(jìn)制數(shù)值, 會(huì)把非十進(jìn)制數(shù)值轉(zhuǎn)換成十進(jìn)制在進(jìn)行計(jì)算

  2. 非靜態(tài)內(nèi)部類的初始化方式

    public class A{
         class B{
        }
    }
    A a = new A();
    A.B b = a.new B();
非靜態(tài)內(nèi)部類屬于對(duì)象,用過對(duì)象實(shí)例化

  1. & 和 && 的區(qū)別
    &和&&都是可以作為邏輯運(yùn)算符的,其邏輯運(yùn)算規(guī)則是相同的。
    但&作為邏輯運(yùn)算符時(shí)袱瓮,即使第一個(gè)操作符是false缤骨,那么它仍然會(huì)計(jì)算第二個(gè)操作符。&&短路與尺借,如果第一個(gè)操作符為false绊起,那么它不會(huì)再去計(jì)算第二個(gè)操作符。
    6.散列表hashmap散列沖突解決辦法
    開放尋指法
    當(dāng)散列沖突之后 插入到 沖突位置下一個(gè)數(shù)組位置中 如果依然沖突依次往后找
    在查找的時(shí)候同樣需要從hash運(yùn)算出的位置依次向后找 直到遍歷到找到的元素燎斩,或者空元素停止
    值得注意的是 刪除過程中我們不能簡(jiǎn)單的做一個(gè)刪除 否則會(huì)讓查找算法失效虱歪,解決辦法是刪除的時(shí)候 我們標(biāo)記為delete 這樣查找的時(shí)候,遍歷到delete栅表,就跳過繼續(xù)查找直到空或者找到相等元素
    但是這種方式在沖突很多的笋鄙,情況下 時(shí)間復(fù)雜度會(huì)退回到o(n)

第二種則是我們hashmap中常見的,把沖的的元素在沖突位置生成鏈表或者紅黑樹

?著作權(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
  • 文/不壞的土叔 我叫張陵落竹,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我货抄,道長(zhǎ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
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(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ú)居荒郊野嶺守林人離奇死亡螟蝙,尸身上長(zhǎng)有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
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留肛捍,地道東北人隐绵。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像拙毫,于是被迫代替她去往敵國(guó)和親依许。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

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