標籤:面試題 java
1. Servlet的生命週期是什麼?
答:
第一次請求: 構造方法->init() -> service() -> doGet()/doPost()
以後的請求:service() -> doGet()/doPost();
Servlet是單一實例的.
2. 說出ArrayList,Vector, LinkedList的儲存效能和特性HashMap和Hashtable的區別
答:
ArrayList Vector:以數組的方式儲存,增、刪慢,查、改快
ArrayList:線程不安全,速度快。
Vector:安全執行緒,速度慢( synchoronized add() )
LikedList: 以雙鏈表的方式儲存,增、刪快,查、改慢
HashMap與Hashtable都實現的Map介面,HashTable安全執行緒( add,del -> synchronized),HashMap線程不安全。
拓展:什麼叫安全執行緒和不安全呢?
安全執行緒就是多線程訪問時,採用了加鎖機制,當一個線程訪問該類的某個資料時,進行保護,其他線程不能進行訪問直到該線程讀取完,其他線程才可使用。不會出現資料不一致或者資料汙染。
線程不安全就是不提供資料訪問保護,有可能出現多個線程先後更改資料造成所得到的資料是髒資料
3. 事務是什麼?事務的四大特性? jdbc如何做交易處理?
答:
事務是對資料操作的一個單個邏輯單元,這個單元有可能有多個操作,要不同時成功,要不同時失敗;特點是原子性, 隔離性, 一致性, 持久性.
JDBC做事務操作:
connection.setAutoCommit( false); connection.commit(); connection.rollback(); connection.setAutoCommit( true);
4. 範圍public、protected、private以及不寫時的區別?
答:
public 聲明的為公用成員變數和函數成員,在整個類內類外都可使用。
private 聲明的為私人成員變數和函數成員,只在聲明的類內可以使用。
protected聲明的為受保護的成員變數和函數成員,類外不可使用。類內可以使用。
不使用關鍵字預設為類內使用。
5. 在spring中,什麼是IOC?什麼是DI?
答:
IOC是控制反轉,所謂反轉是指應用本身並不負責依賴對象的建立和維護,而把這個任務交給第三方即Spring去處理,這是將建立對象的權利交給第三方,控制反轉就是控制權的轉移
DI是依賴注入.依賴注入,是指運行期間,Spring動態將依賴對象注入到組件中。
當IOC容器啟動時,容器負責建立容器內的所有對象;
根據配置資訊形成對象之間的依賴關係;
也就是說讓別人(ioc)為你服務。這是核心。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。請多多指教~
每天五個java相關面試題(3)