java面試中遇到的問題
此部落格持續更新中,歡迎大家指正,提供答案
1.Struts2的核心攔截器是什麼?
FilterDispatcher也是Struts2的核心技術。
FilterDispatcher核心控制器執行以下操作:
(1)讀取靜態資料資訊
(2)決定需要轉發或者導航的Action配置
(3)建立Action的Context
(4)建立Action代理
(5)記憶體清理和效能優化
攔截器:Interceptor
攔截器本身是一個普通的Java物件,它能動態攔截Action呼叫,在Action執行前後執行攔截器本身提供的各種各樣的Web專案需求。
也可以阻止Action的執行,同時也可以提取Action中可以複用的部分。
(1)在Action呼叫之前提供系統處理流程邏輯控制
(2)和Action互動時,提供Action執行時的一些初始資訊
(3)在Action結束後,一些事後的處理流程邏輯
(4)修改Action中返回的Result資訊
(5)捕獲異常
值棧是用ognl表示式存值的最初地方,即一個存值的棧
2.spring ioc有幾種注入方式?
(1)setter方法注入
(2)構造器注入
(3)靜態工廠注入
(4)無配置檔案注入(自動注入)
3.Struts是通過什麼機制獲取引數的?
get/set方法
4.用什麼方法可以從xml檔案中直接獲取指定的標籤值?
用xPath方法可以直接獲取指定的標籤值
5.spring事務有幾種隔離級別?分別是什麼?
6.hibernate中物件有幾種狀態?
7.ajax怎麼實現同步?
Async = false
如需使用 async=false,請將 open() 方法中的第三個引數改為 false:
xmlhttp.open("GET","test1.txt",false);
我們不推薦使用 async=false,但是對於一些小型的請求,也是可以的。
請記住,JavaScript 會等到伺服器響應就緒才繼續執行。如果伺服器繁忙或緩慢,應用程式會掛起或停止。
註釋:當您使用 async=false 時,請不要編寫 onreadystatechange 函式 - 把程式碼放到 send() 語句後面即可:
xmlhttp.open("GET","test1.txt",false); xmlhttp.send(); document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
8.arraylist和linkedList的區別?
arrayList查詢資料快,LinkedList新增資料快
9.mybatis中#和$的區別是什麼?