精品国产一级毛片大全,毛片一级在线,毛片免费观看的视频在线,午夜毛片福利

中軟國際面試筆試真題

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

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

  2、接口是否可繼承接口? 抽象類是否可實現(xiàn)(implements)接口? 抽象類是否可繼承實體類

  (concrete class)?

  接口可以繼承接口。抽象類可以實現(xiàn)(implements)接口,抽象類是否可繼承實體類,但前提是實體類必須有明確的構造函數(shù)。

  3、 Overload和Override的區(qū)別。Overloaded的方法是否可以改變返回值的類型?

  方法的重寫Overriding和重載Overloading是Java多態(tài)性的不同表現(xiàn)。重寫Overriding是父類與子類之間多態(tài)性的一種表現(xiàn),重載Overloading是一個類中多態(tài)性的一種表現(xiàn)。如果在子類中定義某方法與其父類有相同的名稱和參數(shù),我們說該方法被重寫 (Overriding)。子類的對象使用這個方法時,將調用子類中的定義,對它而言,父類中的定義如同被"屏蔽"了。如果在一個類中定義了多個同名的方法,它們或有不同的參數(shù)個數(shù)或有不同的參數(shù)類型,則稱為方法的重載(Overloading)。Overloaded的方法是可以改變返回值的類型。

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

  sleep是線程類(Thread)的方法,導致此線程暫停執(zhí)行指定時間,給執(zhí)行機會給其他線程,但是監(jiān)控狀態(tài)依然保持,到時后會自動恢復。調用sleep不會釋放對象鎖。wait是Object類的方法,對此對象調用wait方法導致本線程放棄對象鎖,進入等待此對象的等待鎖定池,只有針對此對象發(fā)出notify方法(或notifyAll)后本線程才進入對象鎖定池準備獲得對象鎖進入運行狀態(tài)。

  5、 final, finally, finalize的區(qū)別。

  final 用于聲明屬性,方法和類,分別表示屬性不可變,方法不可覆蓋,類不可繼承。 finally是異常處理語句結構的一部分,表示總是執(zhí)行。 finalize是Object類的一個方法,在垃圾收集器執(zhí)行的時候會調用被回收對象的此方法,可以覆蓋此方法提供垃圾收集時的其他資源回收,例如關閉文件等。

  6、HashMap和Hashtable的區(qū)別。

  HashMap是Hashtable的輕量級實現(xiàn)(非線程安全的實現(xiàn)),他們都完成了Map接口,主要區(qū)別在于HashMap允許空(null)鍵值(key),由于非線程安全,效率上可能高于Hashtable。 HashMap允許將null作為一個entry的key或者value,而Hashtable不允許。HashMap把Hashtable的contains方法去掉了,改成containsvalue和containsKey。因為contains方法容易讓人引起誤解。 Hashtable繼承自Dictionary類,而HashMap是Java1.2引進的Map interface的一個實現(xiàn)。 最大的不同是,Hashtable的方法是Synchronize的,而HashMap不是,在多個線程訪問Hashtable時,不需要自己為它的方法實現(xiàn)同步,而HashMap 就必須為之提供外同步。 Hashtable和HashMap采用的hash/rehash算法都大概一樣,所以性能不會有很大的差異。

  7、&和&&的區(qū)別。

  &是位運算符,表示按位與運算,&&是邏輯運算符,表示邏輯與(and)。

  8、Set 里的元素是不能重復的,那么用什么方法來區(qū)分重復與否呢? 是用==還是equals()? 它們有何區(qū)別?

  Set 里的元素是不能重復的,用equals ()方法來區(qū)分重復與否。覆蓋

  equals()方法用來判斷對象的內(nèi)容是否相同,而”==”判斷地址是否相等,用來

  決定引用值是否指向同一對象。

  9、什么是內(nèi)部類?

  內(nèi)部類就是在一個類的內(nèi)部定義的類,內(nèi)部類中不能定義靜態(tài)成員(我想可能是既然靜態(tài)成員類似c語言的全局變量,而內(nèi)部類通常是用于創(chuàng)建內(nèi)部對象用的,所以,把“全局變量”放在內(nèi)部類中就是毫無意義的事情,既然是毫無意義的事情,就應該被禁止),內(nèi)部類可以直接訪問外部類中的成員變量,內(nèi)部類可以定義在外部類的方法外面,也可以定義在外部類的方法體中,如下所示:

  public class Outer

  {

  int out_x = 0;

  public void method()

  {

  Inner1 inner1 = new Inner1();

  class Inner2 //在方法體內(nèi)部定義的內(nèi)部類

  {

  public method()

  {

  out_x = 3;

  }

  }

  Inner2 inner2 = new Inner2();

  }

  public class Inner1 //在方法體外面定義的內(nèi)部類

  {

  }

  }

  在方法體外面定義的內(nèi)部類的訪問類型可以是public,protecte,默認的,private等4種類型,這就好像類中定義的成員變量有4種訪問類型一樣,它們決定這個內(nèi)部類的定義對其他類是否可見;對于這種情況,我們也可以在外面創(chuàng)建內(nèi)部類的實例對象,創(chuàng)建內(nèi)部類的實例對象時,一定要先創(chuàng)建外部類的實例對象,然后用這個外部類的實例對象去創(chuàng)建內(nèi)部類的實例對象,代碼如下:

本文已影響6827
上一篇:嵌入式Linux工程師筆試題 下一篇:大眾點評網(wǎng)南京筆試真題

相關文章推薦

|||||