大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 2020年高級(jí)java程序員面試題

2020年高級(jí)java程序員面試題

更新時(shí)間:2020-03-11 10:12:52 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3578次


  String,StringBuffer,StringBuilder的區(qū)別是什么?String為什么是不可變的?


  答:


  1、String是字符串常量,StringBuffer和StringBuilder都是字符串變量。后兩者的字符內(nèi)容可變,而前者創(chuàng)建后內(nèi)容不可變。


  2、String不可變是因?yàn)樵贘DK中String類被聲明為一個(gè)final類。


  3、StringBuffer是線程安全的,而StringBuilder是非線程安全的。


  ps:線程安全會(huì)帶來(lái)額外的系統(tǒng)開銷,所以StringBuilder的效率比StringBuffer高。如果對(duì)系統(tǒng)中的線程是否安全很掌握,可用StringBuffer,在線程不安全處加上關(guān)鍵字Synchronize。


  Vector,ArrayList,LinkedList的區(qū)別是什么?


  答:


  1、Vector、ArrayList都是以類似數(shù)組的形式存儲(chǔ)在內(nèi)存中,LinkedList則以鏈表的形式進(jìn)行存儲(chǔ)。


  2、List中的元素有序、允許有重復(fù)的元素,Set中的元素?zé)o序、不允許有重復(fù)元素。


  3、Vector線程同步,ArrayList、LinkedList線程不同步。


  4、LinkedList適合指定位置插入、刪除操作,不適合查找;ArrayList、Vector適合查找,不適合指定位置的插入、刪除操作。


  5、ArrayList在元素填滿容器時(shí)會(huì)自動(dòng)擴(kuò)充容器大小的50%,而Vector則是100%,因此ArrayList更節(jié)省空間。


  HashTable,HashMap,TreeMap區(qū)別?


  答:


  1、HashTable線程同步,HashMap非線程同步。


  2、HashTable不允許<鍵,值>有空值,HashMap允許<鍵,值>有空值。


  3、HashTable使用Enumeration,HashMap使用Iterator。


  4、HashTable中hash數(shù)組的默認(rèn)大小是11,增加方式的old*2+1,HashMap中hash數(shù)組的默認(rèn)大小是16,增長(zhǎng)方式一定是2的指數(shù)倍。


  5、TreeMap能夠把它保存的記錄根據(jù)鍵排序,默認(rèn)是按升序排序。


  詳見:鏈接


  小編注:為什么沒(méi)有第四題不要問(wèn)我...學(xué)姐沒(méi)寫


  Tomcat,Apache,JBoss的區(qū)別?


  答:


  1、Apache是Http服務(wù)器,Tomcat是web服務(wù)器,JBoss是應(yīng)用服務(wù)器。


  2、Apache解析靜態(tài)的html文件;Tomcat可解析jsp動(dòng)態(tài)頁(yè)面、也可充當(dāng)servlet容器。


  詳見:鏈接


  GET,POST區(qū)別?


  答:


  基礎(chǔ)知識(shí):Http的請(qǐng)求格式如下。


  <requestline>主要包含三個(gè)信息:1、請(qǐng)求的類型(GET或POST),2、要訪問(wèn)的資源(如\res\img\a.jif),3、Http版本(http/1.1)


  <header>用來(lái)說(shuō)明服務(wù)器要使用的附加信息


  <blankline>這是Http的規(guī)定,必須空一行


  [<request-body>]請(qǐng)求的內(nèi)容數(shù)據(jù)


  區(qū)別:


  1、Get是從服務(wù)器端獲取數(shù)據(jù),Post則是向服務(wù)器端發(fā)送數(shù)據(jù)。


  2、在客戶端,Get方式通過(guò)URL提交數(shù)據(jù),在URL地址欄可以看到請(qǐng)求消息,該消息被編碼過(guò);Post數(shù)據(jù)則是放在Htmlheader內(nèi)提交。


  3、對(duì)于Get方式,服務(wù)器端用Request.QueryString獲取變量的值;對(duì)用Post方式,服務(wù)器端用Request.Form獲取提交的數(shù)據(jù)值。


  4、Get方式提交的數(shù)據(jù)最多1024字節(jié),而Post則沒(méi)有限制。


  5、Get方式提交的參數(shù)及參數(shù)值會(huì)在地址欄顯示,不安全,而Post不會(huì),比較安全。


  詳見:鏈接


  Session,Cookie區(qū)別


  答:


  1、Session由應(yīng)用服務(wù)器維護(hù)的一個(gè)服務(wù)器端的存儲(chǔ)空間;Cookie是客戶端的存儲(chǔ)空間,由瀏覽器維護(hù)。


  2、用戶可以通過(guò)瀏覽器設(shè)置決定是否保存Cookie,而不能決定是否保存Session,因?yàn)镾ession是由服務(wù)器端維護(hù)的。


  3、Session中保存的是對(duì)象,Cookie中保存的是字符串。


  4、Session和Cookie不能跨窗口使用,每打開一個(gè)瀏覽器系統(tǒng)會(huì)賦予一個(gè)SessionID,此時(shí)的SessionID不同,若要完成跨瀏覽器訪問(wèn)數(shù)據(jù),可以使用Application。


  5、Session、Cookie都有失效時(shí)間,過(guò)期后會(huì)自動(dòng)刪除,減少系統(tǒng)開銷。


  詳見:鏈接


  Servlet的生命周期


  答:


  大致分為4部:Servlet類加載-->實(shí)例化-->服務(wù)-->銷毀


  下圖是Tomcat中Servlet時(shí)序圖。


2020年高級(jí)java程序員面試題


  1、WebClient向Servlet容器(Tomcat)發(fā)出Http請(qǐng)求。


  2、Servlet容器接收Client端的請(qǐng)求。


  3、Servlet容器創(chuàng)建一個(gè)HttpRequest對(duì)象,將Client的請(qǐng)求信息封裝到這個(gè)對(duì)象中。


  4、Servlet創(chuàng)建一個(gè)HttpResponse對(duì)象。


  5、Servlet調(diào)用HttpServlet對(duì)象的service方法,把HttpRequest對(duì)象和HttpResponse對(duì)象作為參數(shù)傳遞給HttpServlet對(duì)象中。


  6、HttpServlet調(diào)用HttpRequest對(duì)象的方法,獲取Http請(qǐng)求,并進(jìn)行相應(yīng)處理。


  7、處理完成HttpServlet調(diào)用HttpResponse對(duì)象的方法,返回響應(yīng)數(shù)據(jù)。


  8、Servlet容器把HttpServlet的響應(yīng)結(jié)果傳回客戶端。


  其中的3個(gè)方法說(shuō)明了Servlet的生命周期:


  1、init():負(fù)責(zé)初始化Servlet對(duì)象。


  2、service():負(fù)責(zé)響應(yīng)客戶端請(qǐng)求。


  3、destroy():當(dāng)Servlet對(duì)象推出時(shí),負(fù)責(zé)釋放占用資源。


  詳見:鏈接


  HTTP報(bào)文包含內(nèi)容


  答:


  主要包含四部分:


  1、requestline


  2、headerline


  3、blankline


  4、requestbody


  詳見:鏈接


  Statement與PreparedStatement的區(qū)別,什么是SQL注入,如何防止SQL注入


  答:


  1、PreparedStatement支持動(dòng)態(tài)設(shè)置參數(shù),Statement不支持。


  2、PreparedStatement可避免如類似單引號(hào)的編碼麻煩,Statement不可以。


  3、PreparedStatement支持預(yù)編譯,Statement不支持。


  4、在sql語(yǔ)句出錯(cuò)時(shí)PreparedStatement不易檢查,而Statement則更便于查錯(cuò)。


  5、PreparedStatement可防止Sql助于,更加安全,而Statement不行。


  什么是SQL注入:通過(guò)sql語(yǔ)句的拼接達(dá)到無(wú)參數(shù)查詢數(shù)據(jù)庫(kù)數(shù)據(jù)目的的方法。


  如將要執(zhí)行的sql語(yǔ)句為select*fromtablewherename="+appName+",利用appName參數(shù)值的輸入,來(lái)生成惡意的sql語(yǔ)句,如將['or'1'='1']傳入可在數(shù)據(jù)庫(kù)中執(zhí)行。


  因此可以采用PrepareStatement來(lái)避免Sql注入,在服務(wù)器端接收參數(shù)數(shù)據(jù)后,進(jìn)行驗(yàn)證,此時(shí)PrepareStatement會(huì)自動(dòng)檢測(cè),而Statement不行,需要手工檢測(cè)。


2020年高級(jí)java程序員面試題


    以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“2020年高級(jí)java程序員面試題”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。


提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久一级视频 | 深夜国产福利 | 日韩一区二区天海翼 | 国产精品成人一区二区 | 97福利视频在线观看 | 久久久久一 | 欧美成人性视频播放 | 性做久久久久久久免费看 | 中国在线播放精品区 | 欧美日韩精品一区二区三区 | 国产成人免费高清在线观看 | 视频一区日韩 | 欧美末成年videos在线观看 | 亚洲乱码中文字幕综合 | 91精品国产视频 | 亚洲狠狠婷婷综合久久久久 | 色综合亚洲综合网站综合色 | 国产成人综合精品一区 | 久久精品国产屋 | 久久r视频 | 欧美日韩亚洲精品一区二区 | 成人欧美视频在线观看播放 | 免费看国产一级特黄aa大片 | 日日摸夜夜添夜夜添影院视频 | 99久久国产综合精品成人影院 | 青青草论坛 | 免费观看日本污污ww网站精选 | 久久久这里有精品999 | 狠狠色丁香婷婷综合久久片 | www伊人 | 久久这里只精品国产99热8 | 国产中文字幕免费 | 久久精品国产99国产精品亚洲 | 欧美成人看片 | 97热在线| 免费观看四虎精品国产永久 | 欧美人zoxxxx另类 | 久久加久久 | 欧美毛片免费看 | 亚洲综合视频 | 色费女人18毛片a级视频在线 |