Android面試復(fù)習(xí)筆記 6

11.Java基礎(chǔ)

1. 集合

List,Set币喧,Queue和Map。
List杀餐,Set,Queue都是接口朱巨,他們都繼承至Collection接口。
Map是獨立接口冀续。

1.1 List

有序,可重復(fù)洪唐。(按照進入的先后順序)

          ArrayList,底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組凭需,查詢快脉让,增刪慢溅潜。線程不安全,效率高薪伏。
          Vector,底層數(shù)據(jù)結(jié)構(gòu)是數(shù)組嫁怀,查詢快,增刪慢塘淑。線程安全,效率低
          LinkedList存捺,底層數(shù)據(jù)結(jié)構(gòu)是鏈表槐沼,查詢慢,增刪快岗钩。線程不安全纽窟,效率高兼吓。

1.2 Set

無序,唯一视搏。

HashSet,底層數(shù)據(jù)結(jié)構(gòu)是哈希表浑娜。(無序,唯一)
通過兩個方法:hashCode()和equals()保證元素唯一性。

LinkedHashSet棚愤,底層數(shù)據(jù)結(jié)構(gòu)是鏈表和哈希表。(FIFO插入有序,唯一)
由鏈表保證元素有序宛畦。由哈希表保證元素唯一瘸洛。

TreeSet次和,底層數(shù)據(jù)結(jié)構(gòu)是紅黑樹。(有序踏施,唯一)
自然排序,比較器排序保證有序畅形。根據(jù)比較的返回值是否是0來決定唯一性。

1.3 Map

鍵值對集合日熬。鍵唯一棍厌,值可重復(fù)耘纱。

HashMap,無序的毕荐。不同步,線程不安全憎亚。 允許key/value為空弄慰。
TreeMap,有序的。紅黑樹對所有的鍵排序斋日。
HashTable牲览,無序的恶守。同步,線程安全兔港。

2. 面向?qū)ο蟮奶匦?/h3>

2.1 Java中抽象類和接口的特點

共同點:

  • 抽象類和接口都不能生成具體的實例。
  • 都是作為上層使用衫樊。

不同點:

  • 抽象類可以有屬性和成員方法,接口不可以科侈。
  • 一個類只能繼承一個類载佳,但是可以實現(xiàn)多個接口蔫慧。
  • 抽象類中的變量是普通變量,接口中的變量是靜態(tài)變量权薯。
  • 抽象類表達的是is-a的關(guān)系,接口表達的是like-a的關(guān)系盟蚣。

2.2 面向?qū)ο蟮娜筇匦?/h4>

面向?qū)ο蟮娜筇匦裕豪^承、封裝和多態(tài)屎开。

封裝:封裝就是隱藏對象的屬性和實現(xiàn)細節(jié)橄仍,僅對外公開接口牍戚,控制在程序中屬性的讀和修改的訪問級別。

繼承:繼承就是子類繼承父類的特征和行為如孝,使得子類對象(實例)具有父類的實例域和方法,或子類從父類繼承方法第晰,使得子類具有父類相同的行為彬祖。

多態(tài):多態(tài)同一個行為具有多個不同表現(xiàn)形式或形態(tài)的能力。

多態(tài)存在的三個必要條件:

  1. 要有繼承品抽。
  2. 要有復(fù)寫。
  3. 父類引用指向子類對象圆恤。

Java中多態(tài)的實現(xiàn)方式:接口實現(xiàn),繼承父類進行方法重寫盆昙,同一個類中的方法重載。

重載:是指多個方法名一樣淡喜,參數(shù)類型和個數(shù)不一樣,返回值類型可以一樣炼团,也可以不一樣澎嚣。
重寫:是指在子類中繼承父類方法瘟芝,方法名和參數(shù)相同,對該方法進行重新定義模狭。

5. == 和 equals的區(qū)別

== 是運算符,當(dāng)比較對象為基本數(shù)據(jù)類型時嚼鹉,比較的是數(shù)據(jù)的大小锚赤;當(dāng)比較對象為引用類型時匹舞,比較的是引用類型中存放的地址线脚。

equals,是Objec類的方法浑侥,默認用于比較兩個對象是否相等,也就是地址值寓落。

案例:

A和B值相同,String A==String B相等嗎伶选? true史飞。
如果A和B是2個對象,雖然值相同构资,但是用==號比較返回false。如果用equals比較就是true吐绵。

6. equals和hashcode的關(guān)系

默認情況下,equals相等拦赠,hashcode必相等巍沙,hashcode相等荷鼠,equals不是必相等榔幸。hashcode基于內(nèi)存地址計算得出,可能會相等削咆,雖然幾率微乎其微牍疏。

7. String,StringBuffer和StringBuild的區(qū)別

  • StringString屬于不可變對象拨齐,每次修改都會生成新的對象。

  • StringBuilder:可變對象瞻惋,非多線程安全。

  • StringBuffer:可變對象歼狼,多線程安全。

    大部分情況下羽峰,效率是:StringBuilder>StringBuffer>String趟咆。

8. Http和Https

HTTPS = HTTP + SSL/TLS

HTTP作用于應(yīng)用層梅屉,使用80端口,起始地址是http://坯汤,明文傳輸,消息容易被攔截玫霎,串改妈橄。
HTTPS作用域傳輸層,使用443端口翁脆,起始地址是https://,需要下載CA證書反番,傳輸?shù)倪^程需要加密,安全性高罢缸。

9. final,finally枫疆,finalize

final關(guān)鍵字:
final修飾的類無法繼承
final修飾的方法無法重寫
final修飾的變量不可修改

finally關(guān)鍵字:
用于與try語句連用爵川,用于異常處理機制
finally中的語句時必須執(zhí)行的

finalize標識符:
是一個Object類中的方法名
這個方法是垃圾回收器gc負責(zé)調(diào)用的
一般用來記錄對象在JVM中被釋放時的時間寝贡,即記錄對象內(nèi)存被釋放的時間

12. 算法

1.排序算法

分為兩大類,比較類配和非比較類排值依。

1.1 比較類排

a. 交換排序

冒泡排序

  • 比較相鄰的元素。如果第一個比第二個大愿险,就交換它們兩個;
  • 對每一對相鄰元素作同樣的工作辆亏,從開始第一對到結(jié)尾的最后一對,這樣在最后的元素應(yīng)該會是最大的數(shù)褒链;
  • 針對所有的元素重復(fù)以上的步驟唁情,除了最后一個甫匹;
  • 重復(fù)步驟1~3,直到排序完成兵迅。
b. 插入排序

插入排序法

  • 從第一個元素開始,該元素可以認為已經(jīng)被排序恍箭;
  • 取出下一個元素,在已經(jīng)排序的元素序列中從后向前掃描;
  • 如果該元素(已排序)大于新元素鳍贾,將該元素移到下一位置;
  • 重復(fù)步驟3骑科,直到找到已排序的元素小于或者等于新元素的位置;
  • 將新元素插入到該位置后咆爽;
  • 重復(fù)步驟2~5梁棠。
c. 選擇排序

選擇排序法

首先在未排序序列中找到最卸饭 (大)元素,存放到排序序列的起始位置呛凶,然后,再從剩余未排序元素中繼續(xù)尋找最邪淹谩(大)元素瓮顽,然后放到已排序序列的末尾县好。以此類推暖混,直到所有元素均排序完畢。

d. 歸并排序

1.2非比較類排

a.計數(shù)排序
b.桶排序
c.基數(shù)排序
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拣播,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贮配,更是在濱河造成了極大的恐慌,老刑警劉巖泪勒,帶你破解...
    沈念sama閱讀 218,036評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異圆存,居然都是意外死亡叼旋,警方通過查閱死者的電腦和手機沦辙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,046評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來油讯,“玉大人延欠,你說我怎么就攤上這事沈跨。” “怎么了谒出?”我有些...
    開封第一講書人閱讀 164,411評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長笤喳。 經(jīng)常有香客問我为居,道長杀狡,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,622評論 1 293
  • 正文 為了忘掉前任呜象,我火速辦了婚禮,結(jié)果婚禮上恭陡,老公的妹妹穿的比我還像新娘。我一直安慰自己著淆,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,661評論 6 392
  • 文/花漫 我一把揭開白布永部。 她就那樣靜靜地躺著苔埋,像睡著了一般。 火紅的嫁衣襯著肌膚如雪组橄。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,521評論 1 304
  • 那天晨炕,我揣著相機與錄音,去河邊找鬼瓮栗。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弥激。 我是一名探鬼主播,決...
    沈念sama閱讀 40,288評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼愿阐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了缨历?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,200評論 0 276
  • 序言:老撾萬榮一對情侶失蹤辛孵,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后魄缚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體宝与,經(jīng)...
    沈念sama閱讀 45,644評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡习劫,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,837評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诽里。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,953評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡嗓蘑,死狀恐怖匿乃,靈堂內(nèi)的尸體忽然破棺而出桩皿,到底是詐尸還是另有隱情幢炸,我是刑警寧澤,帶...
    沈念sama閱讀 35,673評論 5 346
  • 正文 年R本政府宣布宛徊,位于F島的核電站,受9級特大地震影響闸天,放射性物質(zhì)發(fā)生泄漏暖呕。R本人自食惡果不足惜苞氮,卻給世界環(huán)境...
    茶點故事閱讀 41,281評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧霸旗,春花似錦、人聲如沸戚揭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,889評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至潜必,卻和暖如春箱蟆,著一層夾襖步出監(jiān)牢的瞬間刮便,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,011評論 1 269
  • 我被黑心中介騙來泰國打工恨旱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人搜贤。 一個月前我還...
    沈念sama閱讀 48,119評論 3 370
  • 正文 我出身青樓谆沃,卻偏偏與公主長得像仪芒,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子掂名,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,901評論 2 355

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