南京Java培訓(xùn) Java面試經(jīng)典問(wèn)題!南京參加IT培訓(xùn),首推——【南京科迅教育】。講師全程面授的高品質(zhì)教學(xué)模式,以實(shí)踐來(lái)驅(qū)動(dòng)教學(xué),助力學(xué)員掌握過(guò)硬技能和提升實(shí)際運(yùn)用經(jīng)驗(yàn)!
"Write once , Run Anywhere"。我相信每位Java人對(duì)這句話都不陌生,"一次編寫,到處運(yùn)行",很多小伙伴都想通過(guò)面試順利入職企業(yè)。面都金三銀四的招聘旺季很多小伙伴都在網(wǎng)上到處刷題,那么到底有哪些題是Java面試中必問(wèn)的問(wèn)題了,科迅教育Java教學(xué)團(tuán)隊(duì)的項(xiàng)目經(jīng)理們,通過(guò)學(xué)員面試反饋、企業(yè)收集整理等多途徑整合了以下部分Java面試的經(jīng)典題目。
1.JDK和JRE的區(qū)別是什么?
Java運(yùn)行時(shí)環(huán)境(JRE)是將要執(zhí)行Java程序的Java虛擬機(jī)。它同時(shí)也包含了執(zhí)行applet需要的瀏覽器插件。Java開發(fā)工具包(JDK)是完整的Java軟件開發(fā)包,包含了JRE,編譯器和其他的工具(比如:JavaDoc,Java調(diào)試器),可以讓開發(fā)者開發(fā)、編譯、執(zhí)行Java應(yīng)用程序。
2、Java中如何實(shí)現(xiàn)序列化,有什么意義?
**序列化就是一種用來(lái)處理對(duì)象流的機(jī)制,所謂對(duì)象流也就是將對(duì)象的內(nèi)容進(jìn)行流化。**可以對(duì)流化后的對(duì)象進(jìn)行讀寫操作,也可將流化后的對(duì)象傳輸于網(wǎng)絡(luò)之間。序列化是為了解決對(duì)象流讀寫操作時(shí)可能引發(fā)的問(wèn)題(如果不進(jìn)行序列化可能會(huì)存在數(shù)據(jù)亂序的問(wèn)題)。
要實(shí)現(xiàn)序列化,需要讓一個(gè)類實(shí)現(xiàn)Serializable接口,該接口是一個(gè)標(biāo)識(shí)性接口,標(biāo)注該類對(duì)象是可被序列化的,然后使用一個(gè)輸出流來(lái)構(gòu)造一個(gè)對(duì)象輸出流并通過(guò)writeObject(Object)方法就可以將實(shí)現(xiàn)對(duì)象寫出(即保存其狀態(tài));如果需要反序列化則可以用一個(gè)輸入流建立對(duì)象輸入流,然后通過(guò)readObject方法從流中讀取對(duì)象。序列化除了能夠?qū)崿F(xiàn)對(duì)象的持久化之外,還能夠用于對(duì)象的深度克隆。
3. HashMap和HashTable的區(qū)別
HashTable是線程安全的HashMap不是HashMap中允許存在null鍵和null值,HashTable中不允許。
4. HashMap的實(shí)現(xiàn)原理
HashMap的底層實(shí)現(xiàn)是"基于拉鏈法的散列表"。
5、String和StringBuilder、StringBuffer的區(qū)別?
Java平臺(tái)提供了兩種類型的字符串:String和StringBuffer/StringBuilder,它們可以儲(chǔ)存和操作字符串。其中String是只讀字符串,也就意味著String引用的字符串內(nèi)容是不能被改變的。而StringBuffer/StringBuilder類表示的字符串對(duì)象可以直接進(jìn)行修改。StringBuilder是Java 5中引入的,它和StringBuffer的方法完全相同,區(qū)別在于它是在單線程環(huán)境下使用的,因?yàn)樗乃蟹矫娑紱]有被synchronized修飾,因此它的效率也比StringBuffer要高。
6、闡述靜態(tài)變量和實(shí)例變量的區(qū)別。
靜態(tài)變量是被static修飾符修飾的變量,也稱為類變量,它屬于類,不屬于類的任何一個(gè)對(duì)象,一個(gè)類不管創(chuàng)建多少個(gè)對(duì)象,靜態(tài)變量在內(nèi)存中有且僅有一個(gè)拷貝;實(shí)例變量必須依存于某一實(shí)例,需要先創(chuàng)建對(duì)象然后通過(guò)對(duì)象才能訪問(wèn)到它。靜態(tài)變量可以實(shí)現(xiàn)讓多個(gè)對(duì)象共享內(nèi)存。
還有很多經(jīng)典的大面面試題科迅教育Java教學(xué)團(tuán)隊(duì)的老師們也進(jìn)行了整理:
大廠面試題之JVM內(nèi)存管理:
JVM是如何進(jìn)行內(nèi)存區(qū)域劃分的?
JVM是如何高校進(jìn)行內(nèi)存管理?
為什么需要有元空間。它又涉及什么問(wèn)題?
大廠面試題之JDK:
我們?nèi)绾胃采wHashMap類的實(shí)現(xiàn)?
如何加裝一個(gè)遠(yuǎn)程的class文件?
大廠面試題之分布式:
Twemproxy的使用
Redis基本原理
如何處理海量計(jì)數(shù)器緩存
如何處理社交Feed流緩存
自己嘗試一下解答吧!若需要幫助可與我們科迅教育Java教學(xué)團(tuán)隊(duì)的老師哦!科迅教育過(guò)去的2019年學(xué)員就業(yè)工作喜報(bào)頻頻,不管是總體學(xué)員就業(yè)率還是就業(yè)薪資等就業(yè)情況都非??捎^,歡迎想學(xué)習(xí)的朋友可以咨詢。