servlet
servlet是什么?
servlet是運(yùn)行于web服務(wù)器上的能夠動態(tài)生成頁面的程序涧至,是客戶端請求與服務(wù)器上的數(shù)據(jù)庫或應(yīng)用程序之間的一個中間層
servlet的生命周期?
1.Servlet 通過調(diào)用 init () 方法進(jìn)行初始化识樱;
2.Servlet 調(diào)用 service() 方法來處理客戶端的請求州袒。
3.調(diào)用destroy來終止程序
4.最后通過JVM的垃圾回收器來回收垃圾
反射勋功?
反射只能調(diào)用類默認(rèn)無參構(gòu)造方法,是這兩個baiclass的類定義
javax.servlet.http.HttpServletRequest
javax.servlet.http.HttpServletResponse
反射讀出其中的方法
這個兩個是接口上煤,實際應(yīng)用中應(yīng)該傳入真實dao的方法名和實現(xiàn)類
說說JSP(及其優(yōu)點)
jsp頁面混合了servlet和html休玩,可以看做是html和java語言結(jié)合的產(chǎn)物。一個jps通過動態(tài)編譯成一個servlet運(yùn)行。
jsp的優(yōu)點:jsp中有html界面編寫可視化的優(yōu)點和java動態(tài)生成頁面的特點拴疤。html不能動態(tài)生成數(shù)據(jù)而servlet生成html又比較繁瑣永部,故而使用jsp。
sql優(yōu)化
break與return的區(qū)別
前者一般用于結(jié)束循環(huán)語句呐矾,結(jié)束離它最近的一個循環(huán)苔埋;后者直接結(jié)束整個方法(如main方法)。
接口和抽象的區(qū)別
接口中的類都是抽象類蜒犯,抽象中的類可以是普通類也可以是非抽象類
接口中的方法都是抽象方法组橄,抽象中可以有抽象方法和普通方法
接口可以多次implement,而抽象只能單次extends
接口中的方法可以實現(xiàn)罚随,接口可以定義玉工,而抽象只能定義
接口中沒有構(gòu)造方法,抽象中可以有構(gòu)造方法
重載和重寫的區(qū)別
重寫中方法名相同淘菩,參數(shù)列表不同(類型遵班,個數(shù),順序)瞄勾,且發(fā)生在同一類中费奸。和返回值類型無關(guān),和方法的修飾符列表無關(guān)进陡。
重載表示子類中的方法可以與父類中的某個方法的名稱和參數(shù)完全相同愿阐,通過子類創(chuàng)建的實例對象調(diào)用這個方法時,將調(diào)用子類中的定義方法趾疚,這相當(dāng)于把父類中定義的那個完全相同的方法給覆蓋了缨历,這也是面向?qū)ο缶幊痰亩鄳B(tài)性的一種表現(xiàn)。子類覆蓋父類的方法時糙麦,只能比父類拋出更少的異常辛孵,或者是拋出父類拋出的異常的子異常,因為子類可以解決父類的一些問題赡磅,不能比父類有更多的問題魄缚。子類方法的訪問權(quán)限只能比父類的更大,不能更小焚廊。如果父類的方法是private類型冶匹,那么,子類則不存在覆蓋的限制咆瘟,相當(dāng)于子類中增加了一個全新的方法嚼隘。
Cookie和Session的區(qū)別
1.存儲容量不同:cookie長度有限且較短,session長度理論上是無限的袒餐;
2.存儲位置不同:cookie存在于客戶端飞蛹,session存在于瀏覽器服務(wù)端谤狡;
3.隱私策略不同:cookie對客戶端是可見的,是不安全的卧檐;session存儲在服務(wù)器上墓懂,對客戶端是透明的,是安全的泄隔。
4.跨域支持上不同:cookie支持跨域名訪問拒贱,session不支持跨域名訪問;
final佛嬉、finally逻澳、finalize的區(qū)別
1.final是修飾符,表示屬性不可變暖呕。被final修飾的類不能被繼承斜做,被final修飾的方法不能重載,被final修飾的量是常量湾揽;
2.finally是異常處理語句塊中的表示總執(zhí)行的一部分瓤逼;
3.finalize是object類中的一個方法,存在于垃圾回收機(jī)制中库物,用來調(diào)用被回收的對象霸旗。
==和equals的區(qū)別
1.當(dāng)==和equals應(yīng)用于基本數(shù)據(jù)類型時:他們都是比較值是否相等;
2.當(dāng)應(yīng)用于引用數(shù)據(jù)類型時:
(1)重寫equals方法戚揭,如String:==比較的是指向的地址是否相等诱告,而equals比較的是指向的內(nèi)容是否相等;
(2)不重寫equals方法民晒,如自定義的User:==和equals比較的都是地址是否相等精居。
for和for each的區(qū)別
foreach也叫增強(qiáng)for循環(huán),foreach適用于只是進(jìn)行集合或數(shù)組遍歷(以及迭代)潜必,for則在較復(fù)雜的循環(huán)中效率更高靴姿;
foreach不能對數(shù)組或集合進(jìn)行修改(添加刪除操作),如果想要修改就要用for循環(huán)磁滚。
所以相比較下來for循環(huán)更為靈活佛吓。
do和do while有什么區(qū)別
do…while與 while語句的運(yùn)行方式基本相同,只是 do…while語句要先執(zhí)行一次循環(huán)體的內(nèi)容垂攘,然后再判斷布爾條件维雇。如果滿足條件則執(zhí)行循環(huán)體,不滿足條件時退出循環(huán)體搜贤。
接口可以繼承多個接口嗎
可以
8種基本數(shù)據(jù)類型與3種引用數(shù)據(jù)類型
基本數(shù)據(jù)類型:byte int short long float double char boolean
引用類型: Integer String