1.Hashtable和HashMap有什么區(qū)別?
a.Hashtable是繼承自陳舊的Dictionary類的,HashMap繼承自AbstractMap類同時(shí)是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)。
b.也許最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。這就意味著,然你可以不用采取任何特殊的行為就可以在一個(gè) 多線程的應(yīng)用程序中用一個(gè)Hashtable,但你必須同樣地為一個(gè)HashMap提供外同步。一個(gè)方便的方法就是利用Collections類的靜態(tài)的synchronizedMap()方法,它創(chuàng)建一個(gè)線程安全的Map對象,并把它作為一個(gè)封裝的對象來返回。這個(gè)對象的方法可以讓你同步訪問潛在的HashMap。這么做的結(jié)果就是當(dāng)你不需要同步時(shí),你不能切斷Hashtable中的同步(比如在一個(gè)單線程的應(yīng)用程序中),而且同步增加了很多處理費(fèi)用。
c.第三點(diǎn)不同是,只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value。HashMap中只有一條記錄可以是一個(gè)空的key,但任意數(shù)量的條目可以是空的value。這就是說,如果在表中沒有發(fā)現(xiàn)搜索鍵,或者如果發(fā)現(xiàn)了搜索鍵,但它是一個(gè)空的值,那么get()將返回null。如果有必要,用containKey()方法來區(qū)別這兩種情況。
d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey方法
e.Hashtable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)
2.你怎么理解MVC模式?
MVC是SUN早期提出的model2開發(fā)模式,強(qiáng)制的把視圖控制和模型層分開不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性
3.SQLServer中左聯(lián)接查詢用left join,Oracle中用什么?
左連接:select(nvl(a.c,0)-nvl(b.c,0)) from a,b where a.id(+)=b.id
右連接:select(nvl(a.c,0)-nvl(b.c,0)) from a,b where a.id=b.id(+)
自連接:select(nvl(a.c,0)-nvl(b.c,0)) from a,b where a.id(+)=b.id(+)
說明:加號寫在左就是左連接,寫在右就是右連接,看加號的方法來定
4.SQLServer中的數(shù)據(jù)庫,在Oracle中對應(yīng)的是什么?
表空間
5.如果SQLServer中有兩個(gè)數(shù)據(jù)庫,那么讓你把這兩個(gè)數(shù)據(jù)庫對應(yīng)到Oracle中,你應(yīng)該怎么做?
在Oracle中建一個(gè)用戶,對應(yīng)兩個(gè)表空間
6.有兩個(gè)頁面a.jsp和b.jsp,要從a.jsp傳值到b.jsp有幾種方法?分別是什么?
a:最常用的方法是用form中的text,,然后在b.jsp頁面中這樣獲取String username=request.getParameter("username");
b:直接在Url地址欄里面輸入第一個(gè)頁面的地址,在后加問號,然后把要傳的參數(shù)及值寫在后面,如有多個(gè)用&隔開,然后在下一頁面用request.getParameter("參數(shù)名")來獲取,例如:http://localhost:8080/a.jsp?username=admin&password=111在b.jsp中可用這樣獲取:String username=request.getParameter("username");String username=request.getParameter("password");
c:在form中放hidden,如:,獲取方法同上
說明:傳值的方法有很多種,以上是最常用最簡單的幾種方式,當(dāng)然,如果傳的值有中文的話,需另做處理
d.有三個(gè)頁面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的數(shù)據(jù)要在c.jsp中訪問,用最簡單的方法 怎么做?注意不能放在session里用隱藏表單域,即在b.jsp頁面中用N個(gè)hidden把上一頁面提交過來的信息保存下來,然后和當(dāng)前一起提交,再到c.jsp里面獲取
說明:盡量不要用session和少用session
7.jsp和servlet有什么區(qū)別?
a:servlet是在java代碼里面放html,jsp是在html里面放java代碼(最后運(yùn)行的時(shí)候服務(wù)器會把JSP解析成servlet)
b:servlet是一個(gè)java類,有自己的映射,而jsp不是
說明:區(qū)別太多,請參考http://00000000.net.cn/200606/200606097/97681.htm
8.映射是什么?你怎么理解映射?
映射即別名,通過別名可以訪問
a.Hashtable是繼承自陳舊的Dictionary類的,HashMap繼承自AbstractMap類同時(shí)是Java 1.2引進(jìn)的Map接口的一個(gè)實(shí)現(xiàn)。
b.也許最重要的不同是Hashtable的方法是同步的,而HashMap的方法不是。這就意味著,然你可以不用采取任何特殊的行為就可以在一個(gè) 多線程的應(yīng)用程序中用一個(gè)Hashtable,但你必須同樣地為一個(gè)HashMap提供外同步。一個(gè)方便的方法就是利用Collections類的靜態(tài)的synchronizedMap()方法,它創(chuàng)建一個(gè)線程安全的Map對象,并把它作為一個(gè)封裝的對象來返回。這個(gè)對象的方法可以讓你同步訪問潛在的HashMap。這么做的結(jié)果就是當(dāng)你不需要同步時(shí),你不能切斷Hashtable中的同步(比如在一個(gè)單線程的應(yīng)用程序中),而且同步增加了很多處理費(fèi)用。
c.第三點(diǎn)不同是,只有HashMap可以讓你將空值作為一個(gè)表的條目的key或value。HashMap中只有一條記錄可以是一個(gè)空的key,但任意數(shù)量的條目可以是空的value。這就是說,如果在表中沒有發(fā)現(xiàn)搜索鍵,或者如果發(fā)現(xiàn)了搜索鍵,但它是一個(gè)空的值,那么get()將返回null。如果有必要,用containKey()方法來區(qū)別這兩種情況。
d.HashMap去掉了Hashtable的contains方法,保留了containsValue和containsKey方法
e.Hashtable中hash數(shù)組默認(rèn)大小是11,增加的方式是 old*2+1。HashMap中hash數(shù)組的默認(rèn)大小是16,而且一定是2的指數(shù)
2.你怎么理解MVC模式?
MVC是SUN早期提出的model2開發(fā)模式,強(qiáng)制的把視圖控制和模型層分開不僅實(shí)現(xiàn)了功能模塊和顯示模塊的分離,同時(shí)它還提高了應(yīng)用系統(tǒng)的可維護(hù)性、可擴(kuò)展性、可移植性和組件的可復(fù)用性
3.SQLServer中左聯(lián)接查詢用left join,Oracle中用什么?
左連接:select(nvl(a.c,0)-nvl(b.c,0)) from a,b where a.id(+)=b.id
右連接:select(nvl(a.c,0)-nvl(b.c,0)) from a,b where a.id=b.id(+)
自連接:select(nvl(a.c,0)-nvl(b.c,0)) from a,b where a.id(+)=b.id(+)
說明:加號寫在左就是左連接,寫在右就是右連接,看加號的方法來定
4.SQLServer中的數(shù)據(jù)庫,在Oracle中對應(yīng)的是什么?
表空間
5.如果SQLServer中有兩個(gè)數(shù)據(jù)庫,那么讓你把這兩個(gè)數(shù)據(jù)庫對應(yīng)到Oracle中,你應(yīng)該怎么做?
在Oracle中建一個(gè)用戶,對應(yīng)兩個(gè)表空間
6.有兩個(gè)頁面a.jsp和b.jsp,要從a.jsp傳值到b.jsp有幾種方法?分別是什么?
a:最常用的方法是用form中的text,,然后在b.jsp頁面中這樣獲取String username=request.getParameter("username");
b:直接在Url地址欄里面輸入第一個(gè)頁面的地址,在后加問號,然后把要傳的參數(shù)及值寫在后面,如有多個(gè)用&隔開,然后在下一頁面用request.getParameter("參數(shù)名")來獲取,例如:http://localhost:8080/a.jsp?username=admin&password=111在b.jsp中可用這樣獲取:String username=request.getParameter("username");String username=request.getParameter("password");
c:在form中放hidden,如:,獲取方法同上
說明:傳值的方法有很多種,以上是最常用最簡單的幾種方式,當(dāng)然,如果傳的值有中文的話,需另做處理
d.有三個(gè)頁面,a.jsp,b.jsp和c.jsp,流程是:a.jsp->b.jsp->c.jsp,其中a.jsp中提交的數(shù)據(jù)要在c.jsp中訪問,用最簡單的方法 怎么做?注意不能放在session里用隱藏表單域,即在b.jsp頁面中用N個(gè)hidden把上一頁面提交過來的信息保存下來,然后和當(dāng)前一起提交,再到c.jsp里面獲取
說明:盡量不要用session和少用session
7.jsp和servlet有什么區(qū)別?
a:servlet是在java代碼里面放html,jsp是在html里面放java代碼(最后運(yùn)行的時(shí)候服務(wù)器會把JSP解析成servlet)
b:servlet是一個(gè)java類,有自己的映射,而jsp不是
說明:區(qū)別太多,請參考http://00000000.net.cn/200606/200606097/97681.htm
8.映射是什么?你怎么理解映射?
映射即別名,通過別名可以訪問

