亚洲v欧美v国产v在线成_制服丝袜中文字幕丝袜专区_一区二区三区韩国电影_激情欧美一区二区中文字幕

我要投稿 投訴建議

70道Android面試題

時(shí)間:2023-07-03 12:31:35 面試試題 我要投稿
  • 相關(guān)推薦

70道Android面試題(大全)

  下面是小編精選挑選的70道Android面試題,一起來(lái)做一做吧。

70道Android面試題(大全)

  1.GC是什么? 為什么要有GC?

  GC是垃圾收集的意思(Gabage Collection),內(nèi)存處理是編程人員容易出現(xiàn)問(wèn)題的地方,忘記或者錯(cuò)誤的內(nèi)存回收會(huì)導(dǎo)致程序或系統(tǒng)的不穩(wěn)定甚至崩潰,Java提供的GC功能可以自動(dòng)監(jiān)測(cè)對(duì)象是否超過(guò)作用域從而達(dá)到自動(dòng)回收內(nèi)存的目的,Java語(yǔ)言沒(méi)有提供釋放已分配內(nèi)存的顯示操作方法。

  2.XML包括哪些解釋技術(shù),區(qū)別是什么?

  DOM和SAX

  DOM將文檔解析成一顆文檔樹(shù),可在節(jié)點(diǎn)上進(jìn)行遍歷、增加、修改和刪除。一次性讀入內(nèi)存,對(duì)內(nèi)存消耗大。

  SAX至上而下解析文檔,以事件進(jìn)行驅(qū)動(dòng)。不會(huì)一次性讀入內(nèi)存,對(duì)內(nèi)存消耗小,不能任意讀取節(jié)點(diǎn),并且不能對(duì)節(jié)點(diǎn)進(jìn)行增加、修改和刪除。

  3.switch語(yǔ)句能否作用在byte上,能否作用在long上,能否作用在String上?

  switch能作用在byte、char、short和int上,JDK1.7后可以作用在String上。

  4."=="和equals方法究竟有什么區(qū)別?

  ==和equals都可以比較地址。==是運(yùn)算符,equals是方法,方法可以通過(guò)重寫改變其行為,如String的equals就是比較字符串內(nèi)容。

  5.構(gòu)造方法能否被重寫和重載?

  構(gòu)造方法不能被重寫但是能被重載。

  6.面向?qū)ο蟮奶卣饔心男?

  封裝、繼承、多態(tài)和抽象。

  7.抽象類和接口的區(qū)別?

  1).抽象類是abstract class修飾,接口是interface修飾。

  2).抽象類可以有任意類型的屬性,接口只能有靜態(tài)常量修飾的屬性。

  3).抽象類可以有普通方法和抽象法方法,接口的方法都是抽象方法。

  4).抽象類和接口都不能實(shí)例化,但是抽象類有構(gòu)造方法,接口沒(méi)有構(gòu)造方法。

  5).抽象類只能單根繼承,接口可以多重實(shí)現(xiàn)。

  8.內(nèi)部類可以引用它的包含類的成員嗎?有沒(méi)有什么限制?

  可以引用。如果需要指定當(dāng)前類時(shí)要用外部類.this來(lái)引用。如果引用局部變量,需要將局部變量指定為final。

  9.String s = new String("xyz");創(chuàng)建了幾個(gè)String Object? 二者之間有什么區(qū)別?

  2個(gè)對(duì)象。"xyz"創(chuàng)建在字符串常量池中,new String()創(chuàng)建在堆中。

  10.try {}里有一個(gè)return語(yǔ)句,那么緊跟在這個(gè)try后的finally {}里的code會(huì)不會(huì)被執(zhí)行,什么時(shí)候被執(zhí)行,在return前還是后?

  會(huì)在return前執(zhí)行。

  11.Integer與int的區(qū)別

  Integer為包裝類,int是基本數(shù)據(jù)類型。包裝類擁有方法和屬性,基本數(shù)據(jù)類型不具備。包裝類可以通過(guò)intValue來(lái)轉(zhuǎn)換成基本數(shù)據(jù)

  類型,也可以通過(guò)new Integer()將基本數(shù)據(jù)類型轉(zhuǎn)換為包裝類。在JDK1.5后,包裝類和基本數(shù)據(jù)類型可以實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換。

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

  sleep是Thread類的方法,wait是Object類的方法。

  sleep是自動(dòng)喚醒,wait需要其他線程來(lái)喚醒。

  sleep不會(huì)釋放同步鎖,wait會(huì)釋放同步鎖。

  sleep可以用在任意方法中,wait只能用在同步方法或同步塊中。

  13.Sleep()

  不會(huì)釋放對(duì)象鎖 到時(shí)自動(dòng)恢復(fù) wait()會(huì)釋放對(duì)象鎖 進(jìn)入等待此對(duì)象的等待鎖定池 發(fā)出notify()方法后 才進(jìn)入等待鎖定池準(zhǔn)備對(duì)象鎖的獲取進(jìn)入運(yùn)行狀態(tài)

  14.同步和異步有何異同,在什么情況下分別使用他們?

  同步指同一時(shí)間只能一個(gè)線程執(zhí)行該方法,其他線程需要等待。異步指多個(gè)線程可以同時(shí)執(zhí)行某個(gè)方法,并共享同一資源。

  同步可以讓訪問(wèn)的資源具有安全性,因?yàn)橥粫r(shí)間只能一個(gè)線程對(duì)其進(jìn)行訪問(wèn)。但是效率不高。

  異步對(duì)訪問(wèn)的資源會(huì)造成不穩(wěn)定性,比如多個(gè)線程同時(shí)訪問(wèn)一個(gè)資源,一個(gè)在修改、一個(gè)在刪除、一個(gè)在讀取,這樣可能會(huì)造成資源的混亂。但是由于同時(shí)運(yùn)行,執(zhí)行效率得到提高。

  15.啟動(dòng)一個(gè)線程是用run()還是start()?

  start()方法啟動(dòng)線程,run方法是線程執(zhí)行的主方法。

  16.java中有幾種類型的流?JDK為每種類型的流提供了一些抽象類以供繼承,請(qǐng)說(shuō)出他們分別是哪些類?

  java中有三種流,分別是字節(jié)流(InputStream、OutputStream)、字符流(Reader、Writer)、對(duì)象流(ObjectInputStream、ObjectOutputStream)。

  17.字節(jié)流與字符流的區(qū)別?

  字節(jié)流用于讀取或?qū)懗龆M(jìn)制數(shù)據(jù),比如圖片、影像等數(shù)據(jù)。

  字符流用于讀取或?qū)懗鲎址麛?shù)據(jù),比如傳輸字符串。

  所有的數(shù)據(jù)都可以通過(guò)字節(jié)流來(lái)進(jìn)行處理,不過(guò)如果是字符數(shù)據(jù),用字節(jié)流還需要進(jìn)行轉(zhuǎn)換后傳輸,如果使用字符流可以方便數(shù)據(jù)的轉(zhuǎn)換。

  18.error和exception有什么區(qū)別?

  error是系統(tǒng)錯(cuò)誤,代碼不能處理的錯(cuò)誤,比如內(nèi)存溢出、堆棧溢出等。

  exception是程序異常,可以通過(guò)代碼try-catch進(jìn)行處理,比如空指針異常,數(shù)組越界等。

  19.談?wù)刦inal,finally,finalize的區(qū)別?

  final是修飾符,可以修飾類(不能被繼承)、屬性(常量)、和方法(不能被重寫)。

  finally是異常處理塊中的代碼塊,表示無(wú)論如何都會(huì)執(zhí)行的代碼塊。

  finalize是Object類的方法,該方法在對(duì)象被垃圾回收之前執(zhí)行的方法。

  20.當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)象的其它方法?

  如果其他方法沒(méi)有加synchronized的話是可以進(jìn)入的。

【70道Android面試題】相關(guān)文章:

android面試題11-07

Android 面試題經(jīng)典(上)11-03

android面試題大全12-30

android面試題摘要02-20

Android 面試題經(jīng)典(下)11-03

android面試題目匯總02-17

軟件測(cè)試android面試題及答案11-01

Android工程師面試題匯總11-03

百度面試Android面試題08-01

2016年最新最全Android 面試題11-06