1.面向?qū)ο?/h2>
1.談?wù)勀銓γ嫦驅(qū)ο蟮睦斫?
面向?qū)ο蟮娜筇攸c(diǎn):繼承 封裝 多態(tài)
1.繼承:提高代碼的復(fù)用性,在一個(gè)父類的基礎(chǔ)上拓展子類特有的屬性和行為
2.封裝:使用一個(gè)修飾符private 私有的
(1).把成員變量私有化(使用private修飾)
(2).給私有的成員變量提供getter 和setter方法
3.多態(tài):使用父類類型(或接口) 接收其子類對象(實(shí)現(xiàn)類對象)
2.this和super的區(qū)別
this是指代當(dāng)前對象(this所在方法被誰調(diào)用,this就是指代哪個(gè)對象)
this可以調(diào)用本類的構(gòu)造方法,必須寫在第一行
super:可以看成是父類對象,但不持有父類對象地址
super可以用來調(diào)用父類方法字段
super可以在子類的構(gòu)造方法里面調(diào)用父類的構(gòu)造方法
3.override和overload的區(qū)別
override:方法覆寫(子類與父類 接口與實(shí)現(xiàn)類)
但父類的方法不能滿足子類需求需要覆寫父類方法
方法簽名一致
和返回值類型與修飾符有關(guān)
(----------------)
overload:方法重載(在同一個(gè)類中)
方法名一致當(dāng)形參列表不同
和返回值類型與修飾符無關(guān)
4.final finally finalize
final 是一個(gè)修飾符
finally 異常處理里面代碼塊
finalize Object 垃圾回收的方法
5.== 和 equals 的區(qū)別
==是用于基本數(shù)據(jù)類型的比較(比較地址值)
equals是用于引用數(shù)據(jù)類型的比較,比較的是對象里面存儲(chǔ)的數(shù)據(jù)是否相等,但是,默認(rèn)Object里面的 equals本質(zhì)上還是使用的==在比較
6.String Stringbuffer Stringbuilder的區(qū)別
都是表示字符串
在字符串拼接上 Stringbuffer Stringbuilder效率高于String
Stringbuffer 線程安全
Stringbuilder 線程不安全的
7.線程
線程啟動(dòng)的兩種方式?
一種繼承Thread類
實(shí)現(xiàn)Runnable接口
8.請說說啟動(dòng)線程時(shí) start() 和 run()有什么區(qū)別?
調(diào)用run()只是普通點(diǎn)的方法調(diào)用.
start()是新開啟一個(gè)線程,去執(zhí)行線程里面的run()方法
9.請說明 ArrayList和LinkedList的區(qū)別
1. 兩個(gè)都是不是同步的
2.ArrayList查找效率高,尾部添加效率高,刪除和中間插入數(shù)據(jù)效率低
3.數(shù)據(jù)添加刪除效率高,查詢效率低
10.Set和List的區(qū)別
1.set --其中的值不允許重復(fù),無序的數(shù)據(jù)結(jié)構(gòu)
2.list --其中的值允許重復(fù),因?yàn)槠錇橛行虻臄?shù)據(jù)結(jié)構(gòu)
11.HashSet TreeSet的區(qū)別(判斷重復(fù)的標(biāo)準(zhǔn))
1.TreeSet 是二差樹實(shí)現(xiàn)的,Treeset中的數(shù)據(jù)是自動(dòng)排好序的,不允許放入null值。
2.HashSet 是哈希表實(shí)現(xiàn)的,HashSet中的數(shù)據(jù)是無序的,可以放入null,但只能放入一個(gè)null
3.兩者中的值都不能重復(fù),就如數(shù)據(jù)庫中唯一約束。
HashSet不能添加重復(fù)的元素,當(dāng)調(diào)用add(Object)方法時(shí)候,首先會(huì)調(diào)用Object的hashCode方法判斷hashCode是否已經(jīng)存在,如不存在則直接插入元素;如果已存在則調(diào)用Object對象的equals方法判斷是否返回true,如果為true則說明元素已經(jīng)存在,如為false則插入元素。
12.Comparable和Comparator 區(qū)別
Comparable:自然排序(默認(rèn))
Comparator:定制排序
都有一個(gè)比較的方法,通過比較方法的返回值,決定添加數(shù)據(jù)的順序問題(0:相等 1 -1 )
13.map遍歷的方式
1.運(yùn)用keySet() 遍歷每個(gè)key 通過get(String key)
2.EntrySet getKey getValue
2.mysql
1.事務(wù)(ACID)
原子性
一致性
隔離性
持久性
2.left join 和 right join 是以那邊的數(shù)據(jù)表為準(zhǔn)
3.分頁limit
limit (1-1)*10,10;
limit (2-1)*10,10;
limit (3-1)*10,10;
分頁 limit (開始索引,每頁的條數(shù))
有可能手寫sql
select * from 表 where
3.web基礎(chǔ)
1.servlet
1.servlet生命周期
1.第一次訪問的時(shí)候初始化
2.以后每一次訪問的時(shí)候都執(zhí) 行service方法
3.當(dāng)正常的關(guān)閉tomcat的時(shí)候銷毀
2.四大作用域
1.pageContext
2.Request
3.session
4.application
作用域:用于servlet和servlet之間進(jìn)行數(shù)據(jù)共享
3.什么是jsp ---就是servlet (jsp 頁面會(huì)被編譯為servlet)
4.jsp的內(nèi)置對象有哪些
request
response
pageContext
session
application
page
out
config
exception
5.el和jstl {在jsp頁面運(yùn)用一定的規(guī)則,取作用域里面的值}
6.jsp的三大指令
page --導(dǎo)入java jar包
include --引入其他頁面
taglib 引入標(biāo)簽
7.頁面與頁面跳轉(zhuǎn)的方式
請求轉(zhuǎn)發(fā)
重定向
請求包含
8.filter過濾器
如何配置過濾器
1.Filter定義的方式
定義一個(gè)類實(shí)現(xiàn)Filter接口
filter的生命周期
Filter的生命周期---和Servlet的生命周期進(jìn)行對比
1.Filter在服務(wù)器啟動(dòng)的時(shí)候完成對象的創(chuàng)建并執(zhí)行init方法
2.filter對象只會(huì)創(chuàng)建一次,init方法也只會(huì)執(zhí)行一次
3.每次攔截到都會(huì)去執(zhí)行doFilter方法
4.正常關(guān)閉會(huì)執(zhí)行destory方法
9.監(jiān)聽器
如何配置監(jiān)聽器
<listener>
<listener-class> </listener-class>
</listener>
10.說說cookie和session的區(qū)別
session和cookie的作用有點(diǎn)類似,都是為了存儲(chǔ)用戶相關(guān)的信息。不同的是,cookie是存儲(chǔ)在本地瀏覽器,而session存儲(chǔ)在服務(wù)器。
cookie存儲(chǔ)的數(shù)據(jù)量有限,不同的瀏覽器有不同的存儲(chǔ)大小,但一般不超過4KB。
session弊端,就是會(huì)占用服務(wù)器的資源,
|