面試1

1.以下操作返回爲true的是?    AB

A. "beijing " == "beijing";

B."beijing".equals(new String("beijing"));


2.舉例說明常用的集合類,並說出區別


List結構的集合類:ArrayList類,LinkedList類,Vector類,Stack類
Map結構的集合類:HashMap類,Hashtable類
Set結構的集合類:HashSet類,TreeSet類
Queue結構的集合:Queue接口 

3.輸出以下執行結果        ABDCBDCB
public class Test2 {
	static boolean foo(char c){
		System.out.print(c);
		return true;
	}
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int i = 0;
		for(foo('A');foo('B')&&(i < 2);foo('C'))
		{
			i++;
			foo('D');
		}
	}
}

4.描述Cookie和Session的作用,區別和各自的應用範圍,Sessiong的工作機制
一、cookie機制和session機制的區別
  具體來說cookie機制採用的是在客戶端保持狀態的方案,而session機制採用的是在服務器端保持狀態的方案。
  同時我們也看到,由於在服務器端保持狀態的方案在客戶端也需要保存一個標識,所以session機制可能需要藉助於cookie機制來達到保存標識的目的,但實際上還有其他選擇。
二、會話cookie和持久cookie的區別
  如果不設置過期時間,則表示這個cookie生命週期爲瀏覽器會話期間,只要關閉瀏覽器窗口,cookie就消失了。這種生命期爲瀏覽會話期的cookie被稱爲會話cookie。會話cookie一般不保存在硬盤上而是保存在內存裏。
  如果設置了過期時間,瀏覽器就會把cookie保存到硬盤上,關閉後再次打開瀏覽器,這些cookie依然有效直到超過設定的過期時間。
  存儲在硬盤上的cookie可以在不同的瀏覽器進程間共享,比如兩個IE窗口。而對於保存在內存的cookie,不同的瀏覽器有不同的處理方式。
三、Session工作機制
session機制是一種服務器端的機制,服務器使用一種類似於散列表的結構(也可能就是使用散列表)來保存信息。
  但程序需要爲某個客戶端的請求創建一個session的時候,服務器首先檢查這個客戶端的請求裏是否包含了一個session標識-稱爲session id,如果已經包含一個session id則說明以前已經爲此客戶創建過session,服務器就按照session id把這個session檢索出來使用(如果檢索不到,可能會新建一個,這種情況可能出現在服務端已經刪除了該用戶對應的session對象,但用戶人爲地在請求的URL後面附加上一個JSESSION的參數)。
  如果客戶請求不包含session id,則爲此客戶創建一個session並且生成一個與此session相關聯的session id,這個session id將在本次響應中返回給客戶端保存。

5.AOP和IOC的作用?
IOC:控制反轉,是一種設計模式。一層含義是控制權的轉移:由傳統的在程序中控制依賴轉移到由容器來控制;第二層是依賴注入:將相互依賴的對象分離,在spring配置文件中描述他們的依賴關係。他們的依賴關係只在使用的時候才建立。簡單來說就是不需要NEW一個對象了。
AOP:面向切面,是一種編程思想,OOP的延續。將系統中非核心的業務提取出來,進行單獨處理。比如事務、日誌和安全等。這個簡單來說就是可以在一段程序之前或者之後做一些事。
Spring 的AOP和IOC都是爲了解決系統代碼耦合度過高的問題。使代碼重用度高、易於維護。
不過AOP和IOC並不是spring中特有的,只是spring把他們應用的更靈活方便
6.當一個線程進入一個對象的一個synchronized方法後,其它線程是否可進入此對象的其它方法?  


情況一:
當一個線程進入一個對象的一個synchronized方法後,其它線程訪問該對象的非同步方法。 
運行結果: 
一個線程在訪問一個對象的同步方法時,另一個線程可以同時訪問這個對象的非同步方法。 

情況二:
當一個線程進入一個對象的一個synchronized方法後,其它線程也訪問該同步方法。 
運行結果: 
一個線程在訪問一個對象的同步方法時,另一個線程不能同時訪問這個同步方法。

情況三:
當一個線程進入一個對象的一個synchronized方法後,其它線程同時訪問該對象的另一個同步方法。 
運行結果: 
一個線程在訪問一個對象的同步方法時,另一個線程不能同時訪問這個對象的另一個同步方法。











發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章