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

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

2019年Java職場(chǎng)中級(jí)面試題及答案

更新時(shí)間:2019-10-16 11:02:08 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽3097次



  在掌握了Java技術(shù)之后,面試就成為馬上要面臨的問(wèn)題了。面對(duì)面試官的問(wèn)題,提前做好準(zhǔn)備能夠有助于你的臨場(chǎng)發(fā)揮,以下是一些Java面試中高頻出現(xiàn)的一些問(wèn)題,有一部分是沒(méi)有固定答案的,希望能夠?qū)Υ蠹矣兴鶐椭?/p>


  BIO、NIO和AIO的區(qū)別


  JavaBIO:同步并阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)連接一個(gè)線程,即客戶端有連接請(qǐng)求時(shí)服務(wù)器端就需要啟動(dòng)一個(gè)線程進(jìn)行處理,如果這個(gè)連接不做任何事情會(huì)造成不必要的線程開(kāi)銷,當(dāng)然可以通過(guò)線程池機(jī)制改善。


  JavaNIO:同步非阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)請(qǐng)求一個(gè)線程,即客戶端發(fā)送的連接請(qǐng)求都會(huì)注冊(cè)到多路復(fù)用器上,多路復(fù)用器輪詢到連接有I/O請(qǐng)求時(shí)才啟動(dòng)一個(gè)線程進(jìn)行處理。


  JavaAIO:異步非阻塞,服務(wù)器實(shí)現(xiàn)模式為一個(gè)有效請(qǐng)求一個(gè)線程,客戶端的I/O請(qǐng)求都是由OS先完成了再通知服務(wù)器應(yīng)用去啟動(dòng)線程進(jìn)行處理。


  NIO比BIO的改善之處是把一些無(wú)效的連接擋在了啟動(dòng)線程之前,減少了這部分資源的浪費(fèi)(因?yàn)槲覀兌贾烂縿?chuàng)建一個(gè)線程,就要為這個(gè)線程分配一定的內(nèi)存空間)


  AIO比NIO的進(jìn)一步改善之處是將一些暫時(shí)可能無(wú)效的請(qǐng)求擋在了啟動(dòng)線程之前,比如在NIO的處理方式中,當(dāng)一個(gè)請(qǐng)求來(lái)的話,開(kāi)啟線程進(jìn)行處理,但這個(gè)請(qǐng)求所需要的資源還沒(méi)有就緒,此時(shí)必須等待后端的應(yīng)用資源,這時(shí)線程就被阻塞了。


  適用場(chǎng)景分析:


  BIO方式適用于連接數(shù)目比較小且固定的架構(gòu),這種方式對(duì)服務(wù)器資源要求比較高,并發(fā)局限于應(yīng)用中,JDK1.4以前的唯一選擇,但程序直觀簡(jiǎn)單易理解,如之前在Apache中使用。


  NIO方式適用于連接數(shù)目多且連接比較短(輕操作)的架構(gòu),比如聊天服務(wù)器,并發(fā)局限于應(yīng)用中,編程比較復(fù)雜,JDK1.4開(kāi)始支持,如在Nginx,Netty中使用。


  AIO方式使用于連接數(shù)目多且連接比較長(zhǎng)(重操作)的架構(gòu),比如相冊(cè)服務(wù)器,充分調(diào)用OS參與并發(fā)操作,編程比較復(fù)雜,JDK7開(kāi)始支持,在成長(zhǎng)中,Netty曾經(jīng)使用過(guò),后來(lái)放棄。


  Java中常說(shuō)的堆和棧,分別是什么數(shù)據(jù)結(jié)構(gòu);另外,為什么要分為堆和棧來(lái)存儲(chǔ)數(shù)據(jù)


  棧是一種具有后進(jìn)先出性質(zhì)的數(shù)據(jù)結(jié)構(gòu),也就是說(shuō)后存放的先取,先存放的后取。


  堆是一種經(jīng)過(guò)排序的樹(shù)形數(shù)據(jù)結(jié)構(gòu),每個(gè)結(jié)點(diǎn)都有一個(gè)值。通常我們所說(shuō)的堆的數(shù)據(jù)結(jié)構(gòu),是指二叉堆。堆的特點(diǎn)是根結(jié)點(diǎn)的值最小(或最大),且根結(jié)點(diǎn)的兩個(gè)子樹(shù)也是一個(gè)堆。由于堆的這個(gè)特性,常用來(lái)實(shí)現(xiàn)優(yōu)先隊(duì)列,堆的存取是隨意的。


  為什么要?jiǎng)澐侄押蜅?/strong>


  1、從軟件設(shè)計(jì)的角度看,棧代表了處理邏輯,而堆代表了數(shù)據(jù)。這樣分開(kāi),使得處理邏輯更為清晰。


  2、堆與棧的分離,使得堆中的內(nèi)容可以被多個(gè)棧共享。一方面這種共享提供了一種有效的數(shù)據(jù)交互方式(如:共享內(nèi)存),另一方面,堆中的共享常量和緩存可以被所有棧訪問(wèn),節(jié)省了空間。


  3、棧因?yàn)檫\(yùn)行時(shí)的需要,比如保存系統(tǒng)運(yùn)行的上下文,需要進(jìn)行地址段的劃分。由于棧只能向上增長(zhǎng),因此就會(huì)限制住棧存儲(chǔ)內(nèi)容的能力。而堆不同,堆中的對(duì)象是可以根據(jù)需要?jiǎng)討B(tài)增長(zhǎng)的,因此棧和堆的拆分,使得動(dòng)態(tài)增長(zhǎng)成為可能,相應(yīng)棧中只需記錄堆中的一個(gè)地址即可。


  4、體現(xiàn)了Java面向?qū)ο筮@一核心特點(diǎn)(也可以繼續(xù)說(shuō)一些自己的理解)。


  為什么要用線程池


  那先要明白什么是線程池


  線程池是指在初始化一個(gè)多線程應(yīng)用程序過(guò)程中創(chuàng)建一個(gè)線程集合,然后在需要執(zhí)行新的任務(wù)時(shí)重用這些線程而不是新建一個(gè)線程。


  使用線程池的好處


  1、線程池改進(jìn)了一個(gè)應(yīng)用程序的響應(yīng)時(shí)間。由于線程池中的線程已經(jīng)準(zhǔn)備好且等待被分配任務(wù),應(yīng)用程序可以直接拿來(lái)使用而不用新建一個(gè)線程。


  2、線程池節(jié)省了CLR為每個(gè)短生存周期任務(wù)創(chuàng)建一個(gè)完整的線程的開(kāi)銷并可以在任務(wù)完成后回收資源。


  3、線程池根據(jù)當(dāng)前在系統(tǒng)中運(yùn)行的進(jìn)程來(lái)優(yōu)化線程時(shí)間片。


  4、線程池允許我們開(kāi)啟多個(gè)任務(wù)而不用為每個(gè)線程設(shè)置屬性。


  5、線程池允許我們?yōu)檎趫?zhí)行的任務(wù)的程序參數(shù)傳遞一個(gè)包含狀態(tài)信息的對(duì)象引用。


  6、線程池可以用來(lái)解決處理一個(gè)特定請(qǐng)求最大線程數(shù)量限制問(wèn)題。


  Msyql優(yōu)化經(jīng)驗(yàn)


  1、對(duì)查詢進(jìn)行優(yōu)化,應(yīng)盡量避免全表掃描,首先應(yīng)考慮在where及orderby涉及的列上建立索引。


  2、應(yīng)盡量避免在where子句中使用!=或<>操作符,否則引擎將放棄使用索引而進(jìn)行全表掃描。


  3、盡量使用數(shù)字型字段,若只含數(shù)值信息的字段盡量不要設(shè)計(jì)為字符型,這會(huì)降低查詢和連接的性能,并會(huì)增加存儲(chǔ)開(kāi)銷。這是因?yàn)橐嬖谔幚聿樵兒瓦B接時(shí)會(huì)逐個(gè)比較字符串中每一個(gè)字符,而對(duì)于數(shù)字型而言只需要比較一次就夠了。


  4、任何地方都不要使用select*fromt,用具體的字段列表代替“*”,不要返回用不到的任何字段。


  5、避免頻繁創(chuàng)建和刪除臨時(shí)表,以減少系統(tǒng)表資源的消耗。諸如此類,等等等等......


相關(guān)Java面試題推薦


java基礎(chǔ)面試題及答案


2019最新java面試題含答案(基礎(chǔ)篇)


2019年常見(jiàn)Java面試題及答案


Java常見(jiàn)面試題匯總


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


2019年最新Java基礎(chǔ)面試題及面試技巧


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

主站蜘蛛池模板: 毛片在线视频观看 | 国产成人综合久久综合 | 久久这里只精品 | 色中色资源站 | 97在线视| 奇米影视亚洲色图 | 爱爱小视频免费体验区在线观看 | a成人毛片免费观看 | 欧美成人a视频 | 国产欧美亚洲精品第3页在线 | 国产一区二区三区日韩欧美 | 久青草国产手机视频免费观看 | 99久久久国产精品免费播放器 | 国产精品美女久久久久网 | 欧美成人高清 | 农村苗族一级特黄a大片 | 国产成人精品久久亚洲高清不卡 | 国产精品视频免费在线观看 | x99av在线播放 | 亚洲欧美精品中字久久99 | 国产精品2020在线看亚瑟 | 日本免费一区二区三区在线看 | 91精品视频网 | 国产欧美在线观看视频 | 天堂网一区二区 | 成年女人色毛片免费看 | 亚洲欧洲日产国码二区首页 | 四虎黄色影视 | 俺来也俺来也天天夜夜视频 | 色鬼久久 | 国产精品一久久香蕉产线看 | 色综合综合色 | 一级片视频免费看 | 精品黑人一区二区三区 | 狠狠操她 | 毛片在线播 | 日本中文字幕一区二区高清在线 | 亚洲国产网 | 精品久久精品久久 | 亚洲精品综合久久 | 色综合伊人色综合网亚洲欧洲 |