<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    爪哇東南的自留地

    學習探討開源和web開發

    導航

    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    統計

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    相冊

    收藏夾

    life

    technique

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    java 基本試題

    1.通過什么參數分配Java內存使用?
    java -Xms128m -Xmx512m

    2.Treemap和Hashmap區別是什么?
    TreeMap對Key進行排序,而HashMap不排序。HashMap通過hashcode對其內容進行快速查找, 而TreeMap中所有的元素都保持著某種固定的順序,如果你需要得到一個有序的結果你就應該 使用TreeMap(HashMap中元素的排列順序是不固定的)。

    3.為何加入:private static final long serialVersionUID?
    可以利用JDK的bin目錄下的serialver.exe工具產生。
    序列化時為了保持版本的兼容性,即在版本升級時反序列化仍保持 對象的唯一性。在java中serialVersionUID是唯一控制著能否反序列化成功的標志, 只要這個值不一樣,就無法反序列化成功。

    4.JSP編譯和執行原理?
    JSP文件的Scriptlets在編譯后將被包含于該JSP servlet的service()方法。當JSP引擎處理客戶端請求時,JSP Scriptlets在被請求的時候被執行。如果scriptlet產生輸出,輸出將在out (JSPWriter)對象中進行緩存然后最終發送到客戶端。

    5.怎么解決JSP/Servlet web中中文亂碼的問題

    6.JDBC中,statement,prepared statement ,Callable statement的區別是什么?
    Statement 接口提供了執行語句和獲取結果的基本方法。PreparedStatement 接口添加了處理 IN 參數的方法;而 CallableStatement 添加了處理 OUT 參數的方法。
    PreparedStatement:對于同一條語句的多次執行,Statement每次都要把SQL語句發送給數據
    庫,這樣做效率明顯不高,而如果數據庫支持預編譯,PreparedStatement可以先把要執行的語句一次發給它,然后每次執行而不必發送相同的語句,效率當然提高,當然如果數據庫不支持預編譯,
    PreparedStatement會象Statement一樣工作,只是效率不高而不需要用戶工手干預.
    ??? 另外PreparedStatement還支持接收參數.在預編譯后只要傳輸不同的參數就可以執行,大大
    提高了性能.
    CallableStatement:是PreparedStatement的子類,它只是用來執行存儲過程的.

    7.什么情況下會拋出“打開游標超過最大數”的異常?

    8.XML解析中:SAX和DOM的不同點有哪些?

    9.抽象類和接口的區別?

    10.什么是中間件

    11.JSP的內置對象有那些?
    Out, request, response, application, session, exception, config, page, pageContext.

    12.有那些方法能防止、化解對web網站的攻擊?
    13.如何提高訪問web網站的速度?
    14.Java可采用的MVC框架技術有哪些?他們的特征和適用環境如何?
    Struts, WebWork, Spring, JSF…

    15.MVC的優缺點是什么,適用范圍如何?
    MVC開發模式分離數據訪問層和數據表現層,并使開發人員開發一個可伸縮性的強、便于擴展的控制器,來維護整個流程。
    16.TOMCAT配置中,有關安全的設置選項有哪些?
    17.Apach與Tomcat配合使用,是為解決什么問題?怎么實現?運行過程如何?


    18.Collection的四個接口
    add();
    addAll();
    isEmpty();
    iterator();
    contains();

    19.Cookie
    20.多態
    21.Web上參數的傳輸方式
    22.HashTable和HashMap的區別
    Hashtable和HashMap類有三個重要的不同之處。第一個不同主要是歷史原因。Hashtable是基于陳舊的Dictionary類的,HashMap是Java 1.2引進的Map接口的一個實現。
    也許最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。這就意味著,雖然你可以不用采取任何特殊的行為就可以在一個多線程的應用程序中用一個Hashtable,但你必須同樣地為一個HashMap提供外同步。一個方便的方法就是利用Collections類的靜態的synchronizedMap()方法,它創建一個線程安全的Map對象,并把它作為一個封裝的對象來返回。這個對象的方法可以讓你同步訪問潛在的HashMap。這么做的結果就是當你不需要同步時,你不能切斷Hashtable中的同步(比如在一個單線程的應用程序中),而且同步增加了很多處理費用。
    第三點不同是,只有HashMap可以讓你將空值作為一個表的條目的key或value。HashMap中只有一條記錄可以是一個空的key,但任意數量的條目可以是空的value。這就是說,如果在表中沒有發現搜索鍵,或者如果發現了搜索鍵,但它是一個空的值,那么get()將返回null。如果有必要,用containKey()方法來區別這兩種情況。
    23.運行環境中的GC

    24.final,finally,finalzie的區別
    final:
    final可以讓你控制你的成員、方法或者是一個類是否可被覆寫或繼承等功能,這些特點使final在Java中擁有了一個不可或缺的地位,也是學習Java時必須要知道和掌握的關鍵字之一。
    final成員
    當你在類中定義變量時,在其前面加上final關鍵字,那便是說,這個變量一旦被初始化便不可改變,這里不可改變的意思對基本類型來說是其值不可變,而對于對象變量來說其引用不可再變。其初始化可以在兩個地方,一是其定義處,二是在構造函數中,兩者只能選其一。
    還有一種用法是定義方法中的參數為final,對于基本類型的變量,這樣做并沒有什么實際意義,因為基本類型的變量在調用方法時是傳值的,也就是說你可以在方法中更改這個參數變量而不會影響到調用語句,然而對于對象變量,卻顯得很實用,因為對象變量在傳遞時是傳遞其引用,這樣你在方法中對對象變量的修改也會影響到調用語句中的對象變量,當你在方法中不需要改變作為參數的對象變量時,明確使用final進行聲明,會防止你無意的修改而影響到調用方法。
    final方法
    將方法聲明為final那有兩個原因,第一就是說明你已經知道這個方法提供的功能已經滿足你要求,不需要進行擴展,并且也不允許任何從此類繼承的類來覆寫這個方法,但是繼承仍然可以繼承這個方法,也就是說可以直接使用。第二就是允許編譯器將所有對此方法的調用轉化為inline(行內)調用的機制,它會使你在調用final方法時,直接將方法主體插入到調用處,而不是進行例行的方法調用,例如保存斷點,壓棧等,這樣可能會使你的程序效率有所提高,然而當你的方法主體非常龐大時,或你在多處調用此方法,那么你的調用主體代碼便會迅速膨脹,可能反而會影響效率,所以你要慎用final進行方法定義。
    final類
    當你將final用于類身上時,你就需要仔細考慮,因為一個final類是無法被任何人繼承的,那也就意味著此類在一個繼承樹中是一個葉子類,并且此類的設計已被認為很完美而不需要進行修改或擴展。對于final類中的成員,你可以定義其為final,也可以不是final。而對于方法,由于所屬類為final的關系,自然也就成了final型的。你也可以明確的給final類中的方法加上一個final,但這顯然沒有意義。

    finally:
    finally 關鍵字是對 Java 異常處理模型的最佳補充。 finally 結構使代碼總會執行,而不管有無異常發生。使用 finally 可以維護對象的內部狀態,并可以清理非內存資源。如果沒有 finally,您的代碼就會很費解。例如,下面的代碼說明,在不使用 finally 的情況下您如何編寫代碼來釋放非內存資源:

    finalize:
    根據Java語言規范,JVM保證調用finalize函數之前,這個對象是不可達的,但是JVM不保證這個函數一定會被調用。另外,規范還保證finalize函數最多運行一次。
    通常,finalize用于一些不容易控制、并且非常重要資源的釋放,例如一些I/O的操作,數據的連接。這些資源的釋放對整個應用程序是非常關鍵的。在這種情況下,程序員應該以通過程序本身管理(包括釋放)這些資源為主,以finalize函數釋放資源方式為輔,形成一種雙保險的管理機制,而不應該僅僅依靠finalize來釋放資源。

    posted on 2006-09-13 20:18 ericli 閱讀(381) 評論(0)  編輯  收藏 所屬分類: java基礎


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲无线电影官网| 亚洲综合色视频在线观看| 亚洲综合一区二区国产精品| 最近免费中文字幕MV在线视频3| 亚洲中文字幕无码一区二区三区| 一区二区三区在线免费观看视频| 亚洲无码日韩精品第一页| 一个人免费播放在线视频看片| 亚洲精品天堂成人片?V在线播放| 一级毛片免费在线观看网站| 国产亚洲精品影视在线产品| a毛片全部免费播放| 亚洲黄色片在线观看| 啦啦啦高清视频在线观看免费| 亚洲精品国产av成拍色拍| yy6080久久亚洲精品| 巨胸喷奶水www永久免费| 亚洲国产精品第一区二区| 美女视频黄是免费的网址| 亚洲精品自偷自拍无码| 亚洲精品视频在线看| 久久ww精品w免费人成| 亚洲一区免费在线观看| 四虎影院永久免费观看| 精品国产免费一区二区三区香蕉 | 亚洲精品白浆高清久久久久久 | 97se亚洲国产综合自在线| 国产传媒在线观看视频免费观看| 一级特黄a大片免费| 亚洲黄网站wwwwww| 国产成人免费网站在线观看 | 亚洲成AV人片高潮喷水| 国产啪亚洲国产精品无码| 8x8x华人永久免费视频| 久久亚洲精品11p| 蜜芽亚洲av无码精品色午夜| 午夜私人影院免费体验区| 国产精品免费看久久久香蕉| 亚洲国产中文在线视频| 国产亚洲精品看片在线观看 | 一二三四在线播放免费观看中文版视频 |