中軟國際面試筆試真題_第1頁
中軟國際面試筆試真題_第2頁
已閱讀5頁,還剩2頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第1頁共7頁中軟國際面試筆試真題篇 11、 GC 是什么為什么要有 GCGC 是垃圾收集的意思(Gabage Collection),內存處理是編程 人員容易出現問題的地方忘記或者錯誤的內存回收會導致程序或 系統的不穩定甚至崩潰 Java 提供的 GC 功能可以自動監測對象是 否超過作用域從而達到自動回收內存的目的 Java 語言沒有提供釋 放已分配內存的顯示操作方法。2、接口是否可繼承接口抽象類是否可實現(implements)接口抽象類是否可繼承實體類(concrete class)接口可以繼承接口。抽象類可以實現(implements)接口抽象 類是否可繼承實體類但前提是實體類必須有明確

2、的構造函數。3、 Overload 和 Override 的區別。Overloaded 的方法是否 可以改變返回值的類型方法的重寫 Overriding 和重載 Overloading 是 Java 多態性 的不同表現。重寫 Overriding 是父類與子類之間多態性的一種表 現重載 Overloading 是一個類中多態性的一種表現。如果在子類 中定義某方法與其父類有相同的名稱和參數我們說該方法被重寫(Overriding)。子類的對象使用這個方法時將調用子類中的定義 對第2頁共7頁它而言父類中的定義如同被屏蔽了。如果在一個類中定義了多 個同名的方法它們或有不同的參數個數或有不同的參數類型

3、則稱 為方法的重載(Overloading)。 Overloaded 的方法是可以改變返回 值的類型。4、 sleep ()和 wait ()有什么區別sleep 是線程類(Thread)的方法導致此線程暫停執行指定時間給執行機會給其他線程但是監控狀態依然保持到時后會自動恢 復。調用 sleep 不會釋放對象鎖。wait 是 Object 類的方法對此對 象調用wait 方法導致本線程放棄對象鎖進入等待此對象的等待鎖 定池只有針對此對象發出 notify 方法(或 notifyAll)后本線程才 進入對象鎖定池準備獲得對象鎖進入運行狀態。5、 final, finally, finalize

4、的區另口。final 用于聲明屬性方法和類分別表示屬性不可變方法不可 覆蓋類不可繼承。 finally 是異常處理語句結構的一部分表示總 是執行。finalize 是 Object 類的一個方法在垃圾收集器執行的 時候會調用被回收對象的此方法可以覆蓋此方法提供垃圾收集時 的其他資源回收例如關閉文件等。篇 21、HashMap 和 llashtable 的區別。IlashMap 是 llashtable 的輕量級實現(非線程安全的實現)他們都完成了 Map接口主要區別在于HashMap允許空(null)鍵值(key), 由于非線程安全效率上可能高于 Ilashtableo HashMap 允許將

5、 null 作為一個 entry 的 key 或者 value 而 llashtable 不允許。第3頁共7頁HashMap 把 Ilashtable 的 contains 方法去掉了 改成 containsvalue和 containsKeyo因為 contains 方法容易讓人引 起誤解。Ilashtable繼承自 Dictionary 類而 HashMap 是 Javal. 2 引進的 Map interface的一個實現。最大的不同是 Ilashtable 的 方法是 Synchronize 的而HashMap 不是在多個線程訪問 Hashtable 時不需要自己為它的方法實現同步而

6、HashMap 就必須為之提供外 同步。Ilashtable 和 HashMap采用的 hash/rehash 算法都大概一 樣所以性能不會有很大的差異。2、和的區別。是位運算符表示按位與運算是邏輯運算符表示邏輯與(and)。3、Set 里的元素是不能重復的那么用什么方法來區分重復與否呢是用二二還是 equals()它們有何區別Set 里的元素是不能重復的用 equals ()方法來區分重復與 否。覆蓋equals()方法用來判斷對象的內容是否相同而二二判斷地址是否相等,用來決定引用值是否指向同一對象。篇 3什么是內部類內部類就是在一個類的內部定義的類內部類中不能定義靜態 成員(我想可能是既然

7、靜態成員類似 c 語言的全局變量而內部類通 常是用于創建內部對象用的所以把全局變量放在內部類中就是毫 無意義第4頁共7頁的事情既然是毫無意義的事情就應該被禁止)內部類可以直 接訪問外部類中的成員變量內部類可以定義在外部類的方法外面 也可以定義在外部類的方法體中如下所示:public class Outerint out_ = 0;public void method()Irrnerl innerl = new Innerl();class Inner2 /在方法體內部定義的內部類public method()out_ = 3;)Inner2 inner2 = new Inner2();)pub

8、lic class Innerl /在方法體外面定義的內部類在方法體外面定義的內部類的訪問類型可以是 public,第5頁共7頁protecte,默認的 private 等 4 種類型這就好像類中定義 的成員變量有 4 種訪問類型一樣它們決定這個內部類的定義對其 他類是否可見;對于這種情況我們也可以在外面創建內部類的實例 對象創建內部類的實例對象時一定要先創建外部類的實例對象然 后用這個外部類的實例對象去創建內部類的實例對象代碼如下:Outer outer = new Outer();Out er. In nerl inn erl = outer, new Inn nerlO;在方法內部定義的

9、內部類前面不能有訪問類型修飾符就好像 方法中定義的局部變量一樣但這種內部類的前面可以使用 final 或abstract 修飾符。這種內部類對其他類是不可見的其他類無法 引用這種內部類但是這種內部類創建的實例對象可以傳遞給其他 類訪問。這種內部類必須是先定義后使用即內部類的定義代碼必 須出現在使用該類之前這與方法中的局部變量必須先定義后使用 的道理也是一樣的。這種內部類可以訪問方法體中的局部變量但 是該局部變量前必須加 final 修飾符。對于這些細節只要在 eclipse 寫代碼試試根據開發工具提示 的各類錯誤信息就可以馬上了解到。在方法外部定義的內部類前面可以加上 static 關鍵字從而

10、成 為靜態內部類或者叫 Static Nested ClassoStatic Nested Class 與普通類在運行時的行為和功能上沒有什么區別只是在編程 引用時的語法上有一些差別它可以定義成 public、 protected.默 認的、 private等多種類型而普通類只能定義成 public 和默認的 這兩種類型。在外第6頁共7頁面引用 Static Nested Class 類的名稱為外部 類名.內部類名。在外面不需要創建外部類的實例對象就可以直接 創建 Static NestedClass 例如假設 Inner 是定義在 Outer 類中 的 Static Nested Class那么可以使用女卩下語句創建 Inner 類:Outer.Inner inner 二 new Outer. Inner();由于 static Nested Class 不依賴于外部類的實例對象所以static Nested Class 能訪問外部類的非 static 成員變量。當在 外部類中訪問 Static Nested Class 時可以直接使用 Static NestedClass 的名字而不需要加上外部類的名字了在 Static Nested Class中也可以直接引用外部類的 static 的成員變量不需 要加上外部類

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論