接口有什么用
1变泄、通過接口可以實(shí)現(xiàn)不相關(guān)類的相同行為,而不需要了解對(duì)象所對(duì)應(yīng)的類循头。
2唠摹、通過接口可以指明多個(gè)類需要實(shí)現(xiàn)的方法爆捞。
3、通過接口可以了解對(duì)象的交互界面跃闹,而不需了解對(duì)象所對(duì)應(yīng)的類嵌削。
另:Java是單繼承毛好,接口可以使其實(shí)現(xiàn)多繼承的功能望艺。
大體回答如上,類似文章請(qǐng)移駕:
說說http,https協(xié)議
HTTP:
是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議肌访,是一個(gè)客戶端和服務(wù)器端請(qǐng)求和應(yīng)答的標(biāo)準(zhǔn)(TCP)找默,用于從WWW服務(wù)器傳輸超文本到本地瀏覽器的傳輸協(xié)議,它可以使瀏覽器更加高效吼驶,使網(wǎng)絡(luò)傳輸減少惩激。
HTTPS:
是以安全為目標(biāo)的HTTP通道,簡(jiǎn)單講是HTTP的安全版蟹演,即HTTP下加入SSL層风钻,HTTPS的安全基礎(chǔ)是SSL,因此加密的詳細(xì)內(nèi)容就需要SSL酒请。
區(qū)別:
1骡技、https協(xié)議需要到ca申請(qǐng)證書,一般免費(fèi)證書較少羞反,因而需要一定費(fèi)用布朦。
2、http是超文本傳輸協(xié)議昼窗,信息是明文傳輸是趴,https則是具有安全性的ssl加密傳輸協(xié)議。
3澄惊、http和https使用的是完全不同的連接方式唆途,用的端口也不一樣,前者是80掸驱,后者是443肛搬。
4、http的連接很簡(jiǎn)單亭敢,是無狀態(tài)的滚婉;HTTPS協(xié)議是由SSL+HTTP協(xié)議構(gòu)建的可進(jìn)行加密傳輸、身份認(rèn)證的網(wǎng)絡(luò)協(xié)議帅刀,比http協(xié)議安全让腹。
大體回答如上远剩,類似文章請(qǐng)移駕:
說說tcp/ip協(xié)議族
TCP/IP協(xié)議族是一個(gè)四層協(xié)議系統(tǒng),自底而上分別是數(shù)據(jù)鏈路層骇窍、網(wǎng)絡(luò)層瓜晤、傳輸層和應(yīng)用層。每一層完成不同的功能腹纳,且通過若干協(xié)議來實(shí)現(xiàn)痢掠,上層協(xié)議使用下層協(xié)議提供的服務(wù)。
1嘲恍、數(shù)據(jù)鏈路層負(fù)責(zé)幀數(shù)據(jù)的傳遞足画。
2、網(wǎng)絡(luò)層責(zé)數(shù)據(jù)怎樣傳遞過去佃牛。
3淹辞、傳輸層負(fù)責(zé)傳輸數(shù)據(jù)的控制(準(zhǔn)確性、安全性)
4俘侠、應(yīng)用層負(fù)責(zé)數(shù)據(jù)的展示和獲取象缀。
大體回答如上,類似文章請(qǐng)移駕:
tcp五層網(wǎng)絡(luò)協(xié)議
物理層:
為數(shù)據(jù)端設(shè)備提供傳送數(shù)據(jù)的通路爷速,數(shù)據(jù)通路可以是一個(gè)物理媒體央星,也可以是多個(gè)物理媒體連接而成。
數(shù)據(jù)鏈路層:
為網(wǎng)絡(luò)層提供數(shù)據(jù)傳送服務(wù)惫东。
網(wǎng)絡(luò)層:
路由選擇和中繼莉给、激活,終止網(wǎng)絡(luò)連接、在一條數(shù)據(jù)鏈路上復(fù)用多條網(wǎng)絡(luò)連接,多采取分時(shí)復(fù)用技術(shù) 凿蒜、差錯(cuò)檢測(cè)與恢復(fù)禁谦、排序,流量控制、服務(wù)選擇废封、網(wǎng)絡(luò)管理 州泊。
傳輸層:
傳輸層是兩臺(tái)計(jì)算機(jī)經(jīng)過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)通信時(shí),第一個(gè)端到端的層次,具有緩沖作用漂洋。
應(yīng)用層:
應(yīng)用層向應(yīng)用程序提供服務(wù)
大體回答如上遥皂,類似文章請(qǐng)移駕:
TCP與UDP的區(qū)別
1、基于連接與無連接
2刽漂、TCP要求系統(tǒng)資源較多演训,UDP較少;?
3贝咙、UDP程序結(jié)構(gòu)較簡(jiǎn)單?
4样悟、流模式(TCP)與數(shù)據(jù)報(bào)模式(UDP);?
5、TCP保證數(shù)據(jù)正確性,UDP可能丟包?
6窟她、TCP保證數(shù)據(jù)順序陈症,UDP不保證?
大體回答如上,類似文章請(qǐng)移駕:
網(wǎng)絡(luò)協(xié)議-TCP和UDP最完整的區(qū)別介紹
說說tcp三次握手震糖,四次揮手
圖片來源博客園录肯,地址圖右下角
大體回答如上,類似文章請(qǐng)移駕:
cookie和session的區(qū)別吊说,分布式環(huán)境怎么保存用戶狀態(tài)
1论咏、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上颁井。
2厅贪、cookie不是很安全,別人可以分析存放在本地的COOKIE并進(jìn)行COOKIE欺騙蚤蔓,考慮到安全應(yīng)當(dāng)使用session卦溢。
3糊余、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上秀又。當(dāng)訪問增多,會(huì)比較占用你服務(wù)器的性能贬芥,考慮到減輕服務(wù)器性能方面吐辙,應(yīng)當(dāng)使用COOKIE。
4蘸劈、單個(gè)cookie保存的數(shù)據(jù)不能超過4K昏苏,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。
分布式環(huán)境下的session(舉例兩種):
服務(wù)器session復(fù)制
原理:任何一個(gè)服務(wù)器上的session發(fā)生改變(增刪改)威沫,該節(jié)點(diǎn)會(huì)把這個(gè) session的所有內(nèi)容序列化贤惯,然后廣播給所有其它節(jié)點(diǎn),不管其他服務(wù)器需不需要session棒掠,以此來保證Session同步孵构。
優(yōu)點(diǎn):可容錯(cuò),各個(gè)服務(wù)器間session能夠?qū)崟r(shí)響應(yīng)烟很。
缺點(diǎn):會(huì)對(duì)網(wǎng)絡(luò)負(fù)荷造成一定壓力颈墅,如果session量大的話可能會(huì)造成網(wǎng)絡(luò)堵塞,拖慢服務(wù)器性能雾袱。
session共享機(jī)制
使用分布式緩存方案比如memcached恤筛、redis,但是要求Memcached或Redis必須是集群芹橡。
大體回答如上毒坛,類似文章請(qǐng)移駕:
Nginx反向代理,負(fù)載均衡,redis session共享煎殷,keepalived高可用
GIT和SVN的區(qū)別
1屡谐、GIT是分布式的,SVN不是蝌数。
2愕掏、GIT把內(nèi)容按元數(shù)據(jù)方式存儲(chǔ),而SVN是按文件顶伞。
3饵撑、GIT分支和SVN的分支不同。
4唆貌、GIT沒有一個(gè)全局的版本號(hào)滑潘,而SVN有。
5锨咙、GIT的內(nèi)容完整性要優(yōu)于SVN语卤。
(一般問會(huì)不會(huì)用,知道這些區(qū)別貌似也沒卵用)
請(qǐng)寫一段棧溢出酪刀、堆溢出的代碼
遞歸調(diào)用可以導(dǎo)致棧溢出
不斷創(chuàng)建對(duì)象可以導(dǎo)致堆溢出
代碼如下:
publicclassTest{
publicvoidtestHeap(){
for(;;){
ArrayListlist=newArrayList (2000);
}
}
intnum=1;
publicvoidtestStack(){
num++;
this.testStack();
}
publicstaticvoidmain(String[] args){
Test ?t ?=newTest ();
t.testHeap();
t.testStack();
}
}