熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

java面試題集錦荟萃

2022-06-13   來源: Java核心技術 
    java面試的時候大家都遇到過什麼樣的問題接下來就為大家介紹下從各方收集到的java面試的問題吧
   
    第一談談final finally finalize的區別final 修飾符(關鍵字)如果一個類被聲明為final意味著它不能再派生出新的子類不能作為父類被繼承因此一個類不能既被聲明為abstract的又被聲明為final的將變量或方法聲明為final可以保證它們在使用中不被改變被聲明為final的變量必須在聲明時給定初值而在以後的引用中只能讀取不可修改被聲明為final的方法也同樣只能使用不能重載  finally 再異常處理時提供finally 塊來執行任何清除操作如果拋出一個異常那麼相匹配的catch 子句就會執行然後控制就會進入finally 塊(如果有的話)finalize?方法名Java 技術允許使用finalize() 方法在垃圾收集器將對象從內存中清除出去之前做必要的清理工作這個方法是由垃圾收集器在確定這個對象沒有被引用時對這個對象調用的它是在Object 類中定義的因此所有的類都繼承了它子類覆蓋finalize() 方法以整理系統資源或者執行其他清理工作finalize() 方法是在垃圾收集器刪除對象之前對這個對象調用的
   
    第二Anonymous Inner Class (匿名內部類) 是否可以extends(繼承)其它類是否可以implements(實現)interface(接口)? 匿名的內部類是沒有名字的內部類不能extends(繼承) 其它類但一個內部類可以作為一個接口由另一個內部類實現
   
    第三Static Nested Class 和Inner Class的不同說得越多越好(面試題有的很籠統)Nested Class (一般是C++的說法)Inner Class (一般是JAVA的說法)Java內部類與C++嵌套類最大的不同就在於是否有指向外部的引用上具體可見;amp;page=  注 靜態內部類(Inner Class)意味著創建一個static內部類的對象不需要一個外部類對象不能從一個static內部類的一個對象訪問一個外部類對象
   
    第四&和&&的區別&是位運算符&&是布爾邏輯運算符
   
    第五HashMap和Hashtable的區別都屬於Map接口的類實現了將惟一鍵映射到特定的值上HashMap 類沒有分類或者排序它允許一個null 鍵和多個null 值Hashtable 類似於HashMap但是不允許null 鍵和null 值它也比HashMap 慢因為它是同步的
   
    第六Collection 和Collections的區別Collections是個javautil下的類它包含有各種有關集合操作的靜態方法Collection是個javautil下的接口它是各種集合結構的父接口
   
    第七什麼時候用assert斷言是一個包含布爾表達式的語句在執行這個語句時假定該表達式為true如果表達式計算為false那麼系統會報告一個AssertionError它用於調試目的assert(a > // throws an AssertionError if a <=   斷言可以有兩種形式assert Expression ; assert Expression : Expression ;  Expression 應該總是產生一個布爾值  Expression 可以是得出一個值的任意表達式這個值用於生成顯示更多調試信息的String 消息 斷言在默認情況下是禁用的要在編譯時啟用斷言需要使用source 標記javac source Testjava 要在運行時啟用斷言可使用enableassertions 或者ea 標記要在運行時選擇禁用斷言可使用da 或者disableassertions 標記要系統類中啟用斷言可使用esa 或者dsa 標記還可以在包的基礎上啟用或者禁用斷言可以在預計正常情況下不會到達的任何位置上放置斷言斷言可以用於驗證傳遞給私有方法的參數不過斷言不應該用於驗證傳遞給公有方法的參數因為不管是否啟用了斷言公有方法都必須檢查其參數不過既可以在公有方法中也可以在非公有方法中利用斷言測試後置條件另外斷言不應該以任何方式改變程序的狀態
   
    第八GC是什麼? 為什麼要有GC? (基礎)GC是垃圾收集器Java 程序員不用擔心內存管理因為垃圾收集器會自動進行管理要請求垃圾收集可以調用下面的方法之一  Systemgc()  RuntimegetRuntime()gc()
   
    第九String s = new String(xyz創建了幾個String Object?  兩個對象一個是xyx一個是指向xyx的引用對象s
   
    第十Mathround()等於多少?Mathround()等於多少?  Mathround()返回(long)Mathround()返回(long);


From:http://tw.wingwit.com/Article/program/Java/hx/201311/26809.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.