Java復(fù)習(xí)

遞歸控制

數(shù)學(xué)歸納法:用戶證明斷言對所有自然數(shù)(非負整數(shù))成立
為什么在講解之前對數(shù)學(xué)歸納法做一個解釋:在程序中,我們接觸的都是數(shù)疲牵,在應(yīng)用中我們難免不會對數(shù)做一些運算承二。歸納法就是很好的解決方法。

什么是數(shù)學(xué)歸納法:

用戶證明斷言對所有自然數(shù)成立:
1.證明對于N=1成立
2.證明N>1時:如果對于N-1成立纲爸,那么對于N成立

應(yīng)用:求證:1+2+3+4+...+n = n(n+1)/2

1.1=1*2/2
2.如果1+2+3+...+(n-1)=(n-1)n/2
3.那么1+2+3+...+n=1+2+3+...+(n-1)+n=(n-1)n/2+n=n(n+1)/2

遞歸控制方法:

1亥鸠、嚴格控制遞歸函數(shù)作用,包括參數(shù),返回值
2负蚊、先一般神妹,后特殊
3、每次調(diào)用必須縮小問題規(guī)模
4盖桥、每次問題規(guī)脑煮Γ縮小程度為1

編碼一:給一個整數(shù)數(shù)組轉(zhuǎn)化為鏈表,創(chuàng)建 1 2 3 4 5

鏈表的結(jié)構(gòu)有二種格式:
單向鏈表:



雙向鏈表:


在這里我們創(chuàng)建一個實體讓他包裹一個鏈(單向鏈表)

//Node鏈表
public class Node {
    private int values;
    private Node nodeNext;
    
    public Node(int values){
        this.values = values;
        this.nodeNext = null;
    }
    
    public int getValues(){
        return values;
    }
    
    public Node getNodeNext(){
        return nodeNext;
    }
    
    public void setNodeNext(Node nodeNext){
        this.nodeNext = nodeNext;
    }

使用方法

public static Node createLinkList(List<Integer> data){
        if (data.isEmpty()) {   //特殊判斷
            return null;
        }
        Node firstNode = new Node(data.get(0));
        Node nextNode = createLinkList(data.subList(1, data.size()));//遞歸控制
        firstNode.setNodeNext(nextNode);
        return firstNode;
    }

Java異常

Error和Exception的區(qū)別

1揩徊、error:程序無法處理的系統(tǒng)錯誤腰鬼,編譯器不做檢查
2、exception:程序可以處理的異常塑荒,捕獲后可能恢復(fù)


RuntimeException

1熄赡、NullPointerException 空指針異常
2、classCastException 類型轉(zhuǎn)換異常
3齿税、IllegalArgumentException 傳遞非法參數(shù)異常
4彼硫、IndexOutOfBoundsException 數(shù)組下標越界異常
5、NumberFormatException 數(shù)字格式異常

非RuntimeException(需要捕獲)

1凌箕、ClassNotfoundException 找不到指定class的異常
2拧篮、IOException IO操作異常

Error

1、noClassDefFoundError 找不到class定義的異常
2牵舱、stackOverflowError 深遞歸導(dǎo)致棧被耗盡拋出的異常
3串绩、OutOfmemoryError 內(nèi)存溢出異常



在異常中,如果catch中有返回程序芜壁,會優(yōu)先執(zhí)行finally中的程序


Java異常處理的原則

具體明確:跑出的異常應(yīng)能通過異常類名和message準確說明異常的類型和產(chǎn)生異常的原因礁凡;
提早拋出:應(yīng)盡可能早的發(fā)現(xiàn)并拋出異常,便于精確定位問題慧妄;
延遲捕獲:異常的捕獲和處理應(yīng)盡可能延遲顷牌,讓掌握更多信息的作用域來處理異常。

Java集合框架

集合框架.png

在Java集合框架中塞淹,我們主要關(guān)注的是List,Set.這也是面試過程中常問到的問題窟蓝。


List,Set去表.png

數(shù)據(jù)結(jié)構(gòu)考點

數(shù)組和鏈表的區(qū)別:

不同:1、鏈表是鏈式的存儲結(jié)構(gòu)饱普;數(shù)組是順序的存儲結(jié)構(gòu)运挫。
2、鏈表通過指針來連接元素與元素费彼,數(shù)組則是把所有元素按次序依次存儲滑臊。
3口芍、鏈表的插入刪除元素相對數(shù)組較為簡單箍铲,不需要移動元素,且較為容易實現(xiàn)長度擴充鬓椭,但是尋找某個元素較為困難颠猴。
4关划、相同:兩種結(jié)構(gòu)均可實現(xiàn)數(shù)據(jù)的順序存儲,構(gòu)造出來的模型呈線性結(jié)構(gòu)翘瓮。

鏈表的操作:比如反轉(zhuǎn)贮折,鏈表環(huán)路檢測,雙向鏈表资盅,循環(huán)鏈表操作隊列调榄,棧的應(yīng)用:
二叉樹的遍歷方式及遞歸和非遞歸的區(qū)別:
紅黑樹的反轉(zhuǎn):

算法考點

內(nèi)部排序:遞歸排序,交換(冒泡呵扛,快速)每庆,選擇排序,插入排序
排序.png
外部排序:

應(yīng)掌握如何利用有限的內(nèi)存配合海量的外部存儲來處理超大的數(shù)據(jù)集今穿,寫不出來也要有相關(guān)的思路

哪些排序是不穩(wěn)定的缤灵,穩(wěn)定以為著什么:

穩(wěn)定:
冒泡排序是通過不停的遍歷,以升序為例,如果相鄰元素中左邊的大于右邊的則交換.碰到相等的時就不交換保持原位.所以冒泡排序是一種穩(wěn)定排序算法。
不穩(wěn)定:
快速排序是不穩(wěn)定的.舉例8 5 6 6 蓝晒。以8為基準,第一趟交換后最后一個6跑到第一位,8到最后.第二趟交換.這個6跑到5的位置.變成有序的了.兩個6位置變了,所以是不穩(wěn)定的腮出,最常見的也就是sort函數(shù)了。

不同數(shù)據(jù)集芝薇,各種排序最好或最差的情況:
如何優(yōu)化算法:

空間換時間
網(wǎng)絡(luò)架構(gòu)的發(fā)展過程

分布式

一個業(yè)務(wù)拆分成多個子系統(tǒng)胚嘲,部署在不同的服務(wù)器上

集群

同一個業(yè)務(wù),部署在多個服務(wù)器上

負債均衡
緩存
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末剩燥,一起剝皮案震驚了整個濱河市慢逾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌灭红,老刑警劉巖侣滩,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異变擒,居然都是意外死亡君珠,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門娇斑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來策添,“玉大人,你說我怎么就攤上這事毫缆∥ㄖ瘢” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵苦丁,是天一觀的道長浸颓。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么产上? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任棵磷,我火速辦了婚禮,結(jié)果婚禮上晋涣,老公的妹妹穿的比我還像新娘仪媒。我一直安慰自己,他們只是感情好谢鹊,可當(dāng)我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布算吩。 她就那樣靜靜地躺著,像睡著了一般佃扼。 火紅的嫁衣襯著肌膚如雪赌莺。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天松嘶,我揣著相機與錄音艘狭,去河邊找鬼。 笑死翠订,一個胖子當(dāng)著我的面吹牛巢音,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尽超,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼官撼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了似谁?” 一聲冷哼從身側(cè)響起傲绣,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎巩踏,沒想到半個月后秃诵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡塞琼,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年菠净,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片彪杉。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡毅往,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出派近,到底是詐尸還是另有隱情攀唯,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布渴丸,位于F島的核電站侯嘀,受9級特大地震影響战坤,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜残拐,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望碟嘴。 院中可真熱鬧溪食,春花似錦、人聲如沸娜扇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽雀瓢。三九已至枢析,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間刃麸,已是汗流浹背悉患。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工喇澡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓啡直,卻偏偏與公主長得像,于是被迫代替她去往敵國和親涛酗。 傳聞我的和親對象是個殘疾皇子欺矫,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,689評論 2 354

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