1. 程式人生 > >java面試中遇到的問題

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中#和$的區別是什麼?