方法重載 :不屬于多態(tài)
方法重寫 :屬于多態(tài)
構(gòu)造器: 構(gòu)造器名稱跟類名一樣
面向?qū)ο笏枷氲娜筇攸c(diǎn):多態(tài)枫匾、封裝呛凶、繼承
static能修飾:
1病往、屬性:多個(gè)對象所共用的一塊內(nèi)存空間举塔;
2诺舔、方法:靜態(tài)方法中只允許使用靜態(tài)屬性;
3卤唉、靜態(tài)塊:靜態(tài)塊中只允許使用靜態(tài)屬性涩惑,在類被加載時(shí)調(diào)用。
this特點(diǎn) this.當(dāng)前類的屬性:
this關(guān)鍵字特點(diǎn)桑驱,代表當(dāng)前對象的引用竭恬。(誰來調(diào)用我,我就代表誰)
1.調(diào)用本類屬性
2.調(diào)用本類方法(基本熬的、構(gòu)造)
3.表示當(dāng)前對象(相對概念)
super特點(diǎn):
super關(guān)鍵字代表了父類空間的引用痊硕,而不是父類對象的引用。
super關(guān)鍵字的作用:
1)子父類存在著同名的成員時(shí)押框,在子類中默認(rèn)是訪問子類的成員岔绸,可以通過super關(guān)鍵字指定訪問父類的成員。
2)創(chuàng)建子類對象時(shí)橡伞,默認(rèn)會先調(diào)用父類無參的構(gòu)造方法盒揉,可以通過super關(guān)鍵字指定調(diào)用父類的構(gòu)造方法。
父類聲明骑歹,子類實(shí)例化的特點(diǎn):
多態(tài) 父類的對象變量可以引用子類的對象
抽象類特點(diǎn):
可以有屬性预烙、方法、抽象方法道媚,不能被實(shí)例化扁掸,用一個(gè)類去繼承抽象類,繼承時(shí)所有方法重寫抽象類中的抽象方法
A:類或者方法都必須用abstract修飾最域。
B:具體類的在繼承抽象類的時(shí)候
要么:本身也是抽象類谴分。
要么:重寫抽象類中的所有抽象方法。
C:抽象類不能實(shí)例化镀脂。要想使用牺蹄,必須按照多態(tài)的方式
接口:
用intfce 接口不能被實(shí)例化
什么時(shí)候使用抽象類或什么時(shí)候使用接口:
繼承時(shí)使用抽象類
集合:
List、Set薄翅、 Map (key鍵相當(dāng)于Set集合 值相當(dāng)于List集合)
Hash算法第一種解釋亂序存儲沙兰、另一種解釋空間換時(shí)間
MVC: M是指業(yè)務(wù)模型氓奈,V是指用戶界面,C則是控制器
什么是Spring 框架
Spring 的特點(diǎn) IOC控制反轉(zhuǎn)鼎天、 DI 即依賴注入舀奶、 AOP
SpringMVC框架;
1斋射、是一個(gè)實(shí)現(xiàn)MVC思想的框架 2育勺、主要實(shí)現(xiàn)負(fù)責(zé)MVC思想中控制器部分 3、是通過Listener來啟動的 4罗岖、采用無是侵入式的設(shè)計(jì)方式 5涧至、SpringMVC好處返回值非常豐富 1、ModelAndView:
2桑包、String(包含傳入?yún)?shù)是Model南蓬,Map,ModelMap)
3捡多、實(shí)體類
4蓖康、void
Spring和SpringMVC的區(qū)別
Mybatis框架:
1、是一個(gè)實(shí)現(xiàn)MVC思想的框架 2垒手、主要實(shí)現(xiàn)數(shù)據(jù)持久層的框架 3、優(yōu)點(diǎn):節(jié)省DAO層代碼的書寫倒信、myp.xml 文件替換了DAO文件的書寫科贬、提供映射標(biāo)簽,支持對象與數(shù)據(jù)庫的orm字段關(guān)系映射 鳖悠、提供xml標(biāo)簽榜掌,支持編寫動態(tài)sql。
$和#的區(qū)別:
都是傳參乘综、#預(yù)編譯的傳參方式憎账,防止sql注入,卡辰、${}方式無法防止sql注入; mybaties排序時(shí)使用order by 動態(tài)參數(shù)時(shí)需要注意胞皱,使用${}而不用#{};
怎么介紹SSM:1、是一個(gè)實(shí)現(xiàn)MVC思想框架的組合 2九妈、Spring是接口 反砌、
SpringMVC主要實(shí)現(xiàn)負(fù)責(zé)MVC思想中控制器部分、Mybatis主要實(shí)現(xiàn)數(shù)據(jù)持久層的框架
過濾器和攔截器的區(qū)別(重點(diǎn)):過濾器和攔截器觸發(fā)時(shí)機(jī)不一樣
①攔截器是基于java的反射機(jī)制的萌朱,而過濾器是基于函數(shù)回調(diào)宴树。
②攔截器不依賴與servlet容器,過濾器依賴與servlet容器晶疼。
③攔截器只能對action請求起作用酒贬,而過濾器則可以對幾乎所有的請求起作用又憨。
④攔截器可以訪問action上下文、值棧里的對象锭吨,而過濾器不能訪問蠢莺。
⑤在action的生命周期中,攔截器可以多次被調(diào)用耐齐,而過濾器只能在容器初始化時(shí)被調(diào)用一次浪秘。
⑥攔截器可以獲取IOC容器中的各個(gè)bean,而過濾器就不行埠况,這點(diǎn)很重要耸携,在攔截器里注入一個(gè)service,可以調(diào)用業(yè)務(wù)邏輯辕翰。
oracle什么是外連接:外聯(lián)接可以是左向外聯(lián)接夺衍、右向外聯(lián)接或完整外部聯(lián)接。
mysql里只有左外聯(lián)接喜命、右外聯(lián)接沒有
自連接:
層次模型轉(zhuǎn)換到關(guān)系模型時(shí)用到自連接沟沙,
oracle里的序列 (sequence):
是oacle提供的用于產(chǎn)生一系列唯一數(shù)字的數(shù)據(jù)庫對象。
序列有什么作用壁榕?
自動提供唯一的數(shù)值
共享對象
主要用于提供主鍵值
將序列值裝入內(nèi)存可以提高訪問效率
oracle里的約束:外鍵矛紫、主鍵、唯一牌里、檢查颊咬、非空、
oracle里視圖:
視圖是一個(gè)虛擬表牡辽、可以進(jìn)行增刪改查喳篇,建議進(jìn)行查的操作,不建議進(jìn)行增刪改操作态辛。
oracle什么是事務(wù)(必考內(nèi)容):
在數(shù)據(jù)庫中事務(wù)是工作的邏輯單元麸澜,一個(gè)事務(wù)是由一個(gè)或多個(gè)完成一組的相關(guān)行為的SQL語句組成,通過事務(wù)機(jī)制確保這一組SQL語句所作的操作要么都成功執(zhí)行奏黑,完成整個(gè)工作單元操作炊邦,要么一個(gè)也不執(zhí)行。
oracle事務(wù)特性:原子性攀涵、一致性铣耘、隔離性、持久性
oracle索引:
自動索引 主鍵和唯一約束時(shí)會自動創(chuàng)建以故、手動索引經(jīng)常查詢時(shí)會創(chuàng)建索引蜗细,數(shù)據(jù)量很大查詢結(jié)果很小時(shí)創(chuàng)建索引
分組函數(shù):
HAVING:什么時(shí)候用
group by:有重復(fù)時(shí)要帶著主鍵查詢
單例模式(必備)為了得到同一個(gè)實(shí)例化對象
第一種形式:懶漢式,也是常用的形式。
private static SingletonClass instance=null;
public static synchronized SingletonClass getInstance(){
if(instance==null){
instance=new SingletonClass();
}
return instance;
}
private SingletonClass(){
}
}
第二種形式:餓漢式
// java允許我們在一個(gè)類里面定義靜態(tài)類炉媒。比如內(nèi)部類(nested class)踪区。
//把nested class封閉起來的類叫外部類。
//在java中吊骤,我們不能用static修飾頂級類(top level class)缎岗。
//只有內(nèi)部類可以為static。
public class Singleton{
//在自己內(nèi)部定義自己的一個(gè)實(shí)例白粉,只供內(nèi)部調(diào)用
private static final Singleton instance = new Singleton();
private Singleton(){
//do something
}
//這里提供了一個(gè)供外部訪問本class的靜態(tài)方法传泊,可以直接訪問
public static Singleton getInstance(){
return instance;
}
}
JSP和servlet的區(qū)別:
1、JSP就是一個(gè)servlet鸭巴;
2眷细、各自的特點(diǎn):
Servlet能夠很好地組織業(yè)務(wù)邏輯代碼,但是在Java源文件中通過字符串拼接的方式生成動態(tài)HTML內(nèi)容會導(dǎo)致代碼維護(hù)困難鹃祖、可讀性差
JSP雖然規(guī)避了Servlet在生成HTML內(nèi)容方面的劣勢溪椎,但是在HTML中混入大量、復(fù)雜的業(yè)務(wù)邏輯同樣也是不可取的
什么是servlet:
是一個(gè)java類能運(yùn)行在服務(wù)器上恬口,處理客戶端發(fā)送過來的請求
什么是Cookie:
Cookie就是Cookie校读;客戶端瀏覽器的文本文件;是以鍵值對的形式存儲的文本文件祖能;它的鍵和值都是字符串歉秫;response.addCookie(cookie);(調(diào)用response的一個(gè)方法把Cookie傳給客戶端)
它是一個(gè)數(shù)據(jù)包,每次訪問網(wǎng)站的時(shí)候?yàn)g覽器都會將該網(wǎng)站的Cookie發(fā)回給網(wǎng)站服務(wù)器养铸,同時(shí)網(wǎng)站也可以隨意更改你機(jī)器上對應(yīng)的Cookie端考。Cookie不是只有一個(gè),而是一個(gè)網(wǎng)站一個(gè)揭厚,所以把它比喻成網(wǎng)絡(luò)身份證的說法是不準(zhǔn)確的。它不是你在網(wǎng)絡(luò)中的唯一標(biāo)識扶供,只是你在某個(gè)網(wǎng)站的唯一標(biāo)識筛圆。
什么是Session:
Session就是會話、Session可以理解是一個(gè)作用域椿浓、Session存在服務(wù)器端太援、實(shí)現(xiàn)Session有兩種方式:1、依托于Cookie的形式(默認(rèn)的)扳碍,2提岔、url重寫的形式(當(dāng)系統(tǒng)禁用Cookie時(shí)必須應(yīng)用url重寫的形式)、url重寫(a href =/myServelet;jsessionid/=123)
怎么判斷多個(gè)頁面是否是同一個(gè)會話(Session):
如何關(guān)閉Session:關(guān)服務(wù)器端笋敞、主動銷毀Session碱蒙、
Session的典型應(yīng)用:1、權(quán)限管理(登錄、防盜連接(請登錄后評論))赛惩; 2哀墓、購物車;
請求轉(zhuǎn)發(fā)和重定向的區(qū)別:
請求轉(zhuǎn)發(fā)喷兼,即request.getRequestDispatcher().forward()篮绰,是一種服務(wù)器的行為,客戶端只有一次請求季惯,服務(wù)器端轉(zhuǎn)發(fā)后會將請求對象保存吠各,地址欄中的URL地址不會改變,得到響應(yīng)后服務(wù)器端再將響應(yīng)發(fā)給客戶端勉抓;
請求重定向贾漏,即response.sendRedirect(),是一種客戶端行文琳状,從本質(zhì)上講等同于兩次請求磕瓷,前一次請求對象不會保存,地址欄的URL地址會改變念逞。
get請求和post請求的區(qū)別:
get請求:表單困食、超鏈接、數(shù)據(jù)傳輸量255個(gè)字符翎承、不能傳中文硕盹、不能文件上傳
post請求:提交、數(shù)據(jù)傳輸量沒有大小限制叨咖、可以傳中文瘩例、可以文件上傳
標(biāo)準(zhǔn)答案
GET在瀏覽器回退時(shí)是無害的,而POST會再次提交請求甸各。
GET產(chǎn)生的URL地址可以被Bookmark垛贤,而POST不可以。
GET請求會被瀏覽器主動cache趣倾,而POST不會聘惦,除非手動設(shè)置。
GET請求只能進(jìn)行url編碼儒恋,而POST支持多種編碼方式善绎。
GET請求參數(shù)會被完整保留在瀏覽器歷史記錄里,而POST中的參數(shù)不會被保留诫尽。
GET請求在URL中傳送的參數(shù)是有長度限制的禀酱,而POST沒有。
對參數(shù)的數(shù)據(jù)類型牧嫉,GET只接受ASCII字符剂跟,而POST沒有限制。
GET比POST更不安全,因?yàn)閰?shù)直接暴露在URL上浩聋,所以不能用來傳遞敏感信息观蜗。
GET參數(shù)通過URL傳遞,POST放在Request body中衣洁。
JSP隱式對象:
9個(gè)墓捻、輸入輸出對象:1.request、2.response 坊夫、3.out作用域通用對象:4.session,5.application,6.pageContext .Servlet對象:提供有關(guān)頁面環(huán)境的信息(7.page,8.config) 異常類對象:處理頁面中的錯(cuò)誤(9.exception)
EL表達(dá)式隱式對象:
1砖第、applicationScope應(yīng)用程序范圍內(nèi)的scoped變量組成的集合
2、requestScope所有請求范圍的對象的集合
3环凿、sessionScope所有會話范圍的對象的集合
4梧兼、param所有請求參數(shù)字符串組成的集合
5、paramValues所有作為字符串集合的請求參數(shù)
EL表達(dá)式的讀取順序:
el表達(dá)式取值的時(shí)候是按page智听,request羽杰,session,application這個(gè)順序取值的到推,只要有一個(gè)有就會顯示
EL表達(dá)式怎么判斷name是否為空
filter過濾器:例子:中文處理
chain.dofilter:如果有下一個(gè)filter執(zhí)行下一個(gè)filter考赛,沒有下一個(gè)filter執(zhí)行原請求
filter過濾器缺點(diǎn):a跳轉(zhuǎn)到b Servelet 的以ferword形式跳轉(zhuǎn)到C filter過濾不了C