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

專注Java教育14年 全國(guó)咨詢/投訴熱線:400-8080-105
動(dòng)力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁(yè) 學(xué)習(xí)攻略 Java學(xué)習(xí) 經(jīng)典Java面試題總結(jié)內(nèi)涵答案

經(jīng)典Java面試題總結(jié)內(nèi)涵答案

更新時(shí)間:2019-12-12 14:49:51 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2604次

 

經(jīng)典Java面試題總結(jié)內(nèi)涵答案.jpg

  1、問(wèn)題:如果A和B對(duì)象循環(huán)引用,是否可以被GC?

  可以,現(xiàn)在的虛擬機(jī)基本都是通過(guò)可達(dá)性分析算法來(lái)判斷對(duì)象是否存活的,而不是通過(guò)簡(jiǎn)單的引用計(jì)數(shù)法來(lái)判斷對(duì)象是否存活。可達(dá)性分析算法使用一系列的“GC Roots”對(duì)象(虛擬機(jī)棧中引用的對(duì)象、靜態(tài)屬性引用對(duì)象)作為起始點(diǎn),這些節(jié)點(diǎn)向下搜索的路徑稱為引用鏈,當(dāng)一個(gè)對(duì)象到GC Roots沒(méi)有任何引用鏈連接,則證明對(duì)象是不可用的。

  2、Java中的內(nèi)存溢出是如何造成的?

  OutOfMemoryError:

  (1)PerGern Space 程序中使用了大量jar或class,使Java虛擬機(jī)裝載類空間不夠。

  解決方案:調(diào)參XX:PermSize 和 XX:MaxPermSize 、減少jar包,減少類的重復(fù)加載

  (2)Java Heap Space Java虛擬機(jī)創(chuàng)建了太多的對(duì)象。

  解決方案:調(diào)參Xms(初始堆大小)Xmx(最大堆大小)、檢查死循環(huán)或不必要?jiǎng)?chuàng)建的重復(fù)對(duì)象

  (3)unable to create new native Thread JVM占用了太多內(nèi)存空間,而在JVM中創(chuàng)建線程還要再操作系統(tǒng)中也創(chuàng)建線程。

  解決方案:調(diào)整JVM中線程大小。

  3、String s = “123”;這個(gè)語(yǔ)句有幾個(gè)對(duì)象產(chǎn)生?

  若字符串池中沒(méi)有"123",則產(chǎn)生一個(gè)對(duì)象,并且放入常量池中,若有"123",則產(chǎn)生0個(gè)對(duì)象。

  若是String s = new String("123"),若常量池中沒(méi)有,則在常量池中創(chuàng)建一個(gè),然后在堆內(nèi)存中創(chuàng)建一個(gè)。

經(jīng)典Java面試題總結(jié)內(nèi)涵答案.jpg

  4、Error、Exception和RuntimeException的區(qū)別,作用又是什么?

  Error和Exception都是Throwable的子類,RuntimeException是Exception的子類。

  Error用于指示合理應(yīng)用程序不應(yīng)該試圖捕獲的錯(cuò)誤。

  Exception指出合理的應(yīng)用程序需要捕獲的條件。分為已檢查異常和未檢查異常。

  RuntimeException是未檢查異常,不需要try catch或在方法上聲明,主要子類:NullPointer、Arithmatic、ArrayIndexOutOfBounds、ClassCast。

  5、Reader和InputStream區(qū)別?

  都是抽象類,Reader用于讀取字符流(char或String),InputStream用于讀取字節(jié)流(byte數(shù)組)。

  6、hashCode的作用?

  hashCode主要是用于快速查找,如HashMap結(jié)構(gòu)中,用于定位鍵值對(duì)的位置。兩個(gè)對(duì)象相同,則hashCode一定相同,而hashCode相同的對(duì)象則不一定相同,就相當(dāng)于放在同一個(gè)框里。

  7、HashMap和Hashtable的區(qū)別?

  線程安全性、null值的key、效率、HashMap(Iterator快速失敗迭代器)、Hashtable(enumerator迭代器)、時(shí)間推移HashMap元素位置會(huì)變

  8、HashMap中是否任何對(duì)象都可以做為key,用戶自定義對(duì)象做為key有沒(méi)有什么要求?

  可以、但是要key對(duì)象必須是不可變的對(duì)象,不然在Entry被插入Map中后,再改變key值,會(huì)導(dǎo)致當(dāng)前key值與hash值不符合,即與數(shù)組索引不符,將無(wú)法被查找到。

 

經(jīng)典Java面試題總結(jié)內(nèi)涵答案.jpg

  9、 啟動(dòng)一個(gè)線程是用run()還是start()?

  多線程有幾種實(shí)現(xiàn) 同步和并發(fā)是如何解決的 什么叫守護(hù)線程,用什么方法實(shí)現(xiàn)守護(hù)線程(Thread.setDeamon()的含義) 如何停止一個(gè)線程? 解釋是一下什么是線程安全?舉例說(shuō)明一個(gè)線程不安全的例子。解釋Synchronized關(guān)鍵字的作用。 當(dāng)一個(gè)線程進(jìn)入一個(gè)對(duì)象的一個(gè)synchronized方法后,其它線程是否可進(jìn)入此對(duì)    象的其它方法?

  (1)start

  (2)繼承Thread類、實(shí)現(xiàn)Runnable接口、使用ExectuorService、Future、Callable實(shí)現(xiàn)由返回值的線程。

  (3)同步方法、同步代碼塊、鎖

  (4)Damon線程、為其他線程的運(yùn)行提供服務(wù),如GC,Thread。setDeamon(true)。

  (5)Thread.stop()不推薦(不會(huì)正確釋放資源)、使用中斷來(lái)停止線程。

  (6)當(dāng)多個(gè)線程訪問(wèn)一個(gè)對(duì)象時(shí),如果不用考慮這些線程在運(yùn)行時(shí)環(huán)境下的調(diào)度和交替執(zhí)行,也不需要進(jìn)行額外的同步,或者在調(diào)用方進(jìn)行任何其他的協(xié)調(diào)操作,調(diào)用這個(gè)對(duì)象的行為都可以獲得正確的結(jié)果,那這個(gè)對(duì)象是線程安全的。

  (7)車票被重復(fù)賣出。

  (8)同步關(guān)鍵詞。修飾靜態(tài)方法,則以類作為鎖對(duì)象,同時(shí)只能有一個(gè)線程訪問(wèn)此類同步的靜態(tài)方法;修飾普通方法,則以此對(duì)象作為鎖對(duì)象,同時(shí)只能有一個(gè)線程訪問(wèn)此類同步的普通方法;也可以自定義鎖對(duì)象同步代碼塊。

  (9)synchronized方法不可以進(jìn)入,非synchronized可以進(jìn)入。

  10、了解過(guò)哪些JDK8的新特性,舉例描述下相應(yīng)的特性?

  (1)lambda表達(dá)式:函數(shù)式編程,方法引用

  (2)Stream API

  (3)接口的默認(rèn)方法

  (4)日期時(shí)間API的改進(jìn),新增DateTimeFormatter方法

  11、Servlet的生命周期,Serlvet與CGI的區(qū)別?

  生命周期:類加載、實(shí)例化(構(gòu)造對(duì)象),初始化(init),服務(wù)(service),銷毀(destroy)。

  CGI:common gateway interface,通用網(wǎng)關(guān)接口,Perl語(yǔ)言編寫,每個(gè)請(qǐng)求創(chuàng)建一個(gè)CGI對(duì)象。

  Servlet:只需要實(shí)例化、初始化一次,多線程。

  12、StringBuffer有什么優(yōu)勢(shì)?為什么快?

  因?yàn)镾tringBuffer不需要重復(fù)創(chuàng)建String對(duì)象,但是其實(shí)也不是這樣。

  比如String s = "a" + "b" + "c"操作編譯器會(huì)優(yōu)化,變成String s = "abc"

  String s = s1 + s2 + s3編譯器也會(huì)優(yōu)化,變成StringBuilder的append操作,但是如果不是一次性+操作拼接完,就會(huì)反復(fù)生成String對(duì)象與StringBuilder對(duì)象,效率會(huì)很低。

  13、加密解密算法了解嗎?

  摘要算法:MD5(128位)、SHA1(160位),是一種不可逆的過(guò)程,無(wú)論多大的數(shù)據(jù),經(jīng)過(guò)摘要算法后都生成相同長(zhǎng)度的數(shù)據(jù)。只能通過(guò)字典進(jìn)行破解。

  對(duì)稱加密算法:DES、AES,加密解密時(shí)使用相同的秘鑰。

  非對(duì)稱加密算法:RSA,加密解密時(shí)使用不同的秘鑰,對(duì)接支付寶使用RSA2。

  14、解決高并發(fā)與高負(fù)載?

  (1)靜態(tài)頁(yè)面消耗最小,盡可能的HTML靜態(tài)化,采用信息發(fā)布系統(tǒng)CMS實(shí)現(xiàn)信息錄入自動(dòng)生成靜態(tài)頁(yè)面、在前端緩存不經(jīng)常改變的動(dòng)態(tài)數(shù)據(jù)。

  (2)CDN,把CSS/JS等資源分布在不同的服務(wù)器上。

  (3)負(fù)載均衡(Nginx)。

  (4)緩存不常改變的數(shù)據(jù)(Redis、memcache)。

  (5)圖片服務(wù)器與應(yīng)用服務(wù)器分離。

  (6)集群。

經(jīng)典Java面試題總結(jié)內(nèi)涵答案.jpg

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

 

相關(guān)推薦

最新最全java面試題及答案(初級(jí)到高級(jí))

史上最全的中高級(jí)JAVA工程師面試題及答案匯總

Java高級(jí)開(kāi)發(fā)工程師面試題

2019史上最全java面試題題庫(kù)大全800題

哪有資深java工程師面試題

 

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

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 亚洲欧美日韩中文无线码 | 91一区二区三区四区五区 | 青青草好吊色 | 欧美成人网在线综合视频 | 在线色综合 | 亚洲精品久久九九精品 | 不卡一级毛片免费高清 | 99国产精品热久久久久久夜夜嗨 | 欧美亚洲国产色综合 | 日本免费一区尤物 | 91精品国产综合久久久久久 | 国产精品久久久久免费a∨ 国产精品久久久久免费视频 | 色桃花网 | 欧美视频第一区 | 欧美国产中文字幕 | 久久天天操| 中文乱码在线观看 | 久久久亚洲伊人色综合网站 | 一级毛片免费高清视频 | 精品视频 久久久 | 全黄h全肉边做边吃奶在线观看 | 亚洲区欧美区 | 国产精品亚洲成在人线 | 中文字幕在线看视频一区二区三区 | 亚洲国产精品成人久久 | 久久国产影院 | 亚洲欧美成人中文在线网站 | 91热爆国产露脸 | 97高清 | 黄色小视频在线免费观看 | 亚洲成av人片天堂网 | 97se狠狠狠狠狼亚洲综合网 | 香蕉视频精品 | 激情四月婷婷 | 国产精品综合在线 | 日韩精品一区二区三区视频 | 日韩欧美一区二区三区久久 | 亚洲视频区 | 欧美一区二区三区香蕉视 | 黄色短视频在线播放 | 国产精品亚洲第五区在线 |