wcs1
jdk8的垃圾回收算法推導(dǎo)出jvm的調(diào)優(yōu)。
8后不再物理上分老年代年輕代都在連續(xù)的一片內(nèi)存空間,通過cart table邏輯上分老年代年輕代?年輕代用了什么回收算法,復(fù)制還是清理還是什么?mater回收什么?full回收?
回收的過程,四個(gè)?什么時(shí)候串行,什么并發(fā)?三色標(biāo)記法解決什么問題?怎么確認(rèn)需要回收的對(duì)象?
最大堆內(nèi)存和最小或者初始的堆內(nèi)存大小一般調(diào)為一樣,因?yàn)楸苊庀到y(tǒng)調(diào)整內(nèi)存造成額外的cpu開銷。
新生代和surviver區(qū)和eden區(qū)?8:1:1默認(rèn)是多少?
年輕代和老年代的比列是多少?
所以要jvm調(diào)優(yōu),減少停頓時(shí)間,增加系統(tǒng)吞吐量,jvm調(diào)優(yōu)是最后才能做的事情,更有意義是改代碼。改大對(duì)象為小對(duì)象,因?yàn)榇髮?duì)象或許直接進(jìn)入了老年代。
jvm類加載過程,類加載,鏈接,初始化?
多次驗(yàn)證分別驗(yàn)證了哪些內(nèi)容?
初始化做了什么?各個(gè)階段做了什么?多次驗(yàn)證,驗(yàn)證了什么?
編程規(guī)范具體有哪些方面?
1:方法抽取,減少重復(fù)的代碼量一個(gè)方法最好不超過50行
2:sevice層處理業(yè)務(wù)邏輯。manager層是對(duì)service,dao層通用邏輯的封裝,sevice->dto,manage->do;
Service層將VO轉(zhuǎn)換成DTO傳遞給遠(yuǎn)程Service,返回值為DTO;
遠(yuǎn)程Service將DTO傳遞給自己的Servicce處理,返回DTO;
Service將DTO轉(zhuǎn)成BO,傳遞給Manager處理,返回BO;
在Manager層將BO傳遞給Mapper,Mapper將DO轉(zhuǎn)換成BO后,返回BO;
3:變量和方法的命名不必死板,不必要全部翻譯
4:傳遞參數(shù)的時(shí)候用什么傳什么,盡量不用一個(gè)對(duì)象去傳值,因?yàn)閷?duì)象中大部分屬性不會(huì)用到。
5:代碼的順序,要調(diào)整好,比如變量在用的時(shí)候去定義,位置要放好。
6:方法的命名find代表必有,search不一定有,還有一些別的看資料補(bǔ)充?
雙親委派解決了什么問題?
有幾種類加載器?
系統(tǒng)的并發(fā)量,增加機(jī)器是最后才考慮的事,單個(gè)系統(tǒng)接口反應(yīng)速度才是核心,通過緩存,等,什么方式可以提高單機(jī)的反應(yīng)速度。
redis的淘汰
spring的一個(gè)controller是線程安全的嗎?不是?為什么不是?
hashmap的put過程?
線程池的參數(shù)有哪些?
jdk代理和cglib代理的區(qū)別?jdk代理需要接口,因?yàn)樯傻淖止?jié)碼類文件已經(jīng)繼承了poxa類,所以只能再實(shí)現(xiàn)需要代理的類的接口。然后當(dāng)調(diào)用生成的代理類的時(shí)候?幾個(gè)類的關(guān)系搞清楚?
cglib是生成代理類的子類,不能代理final的類。
spring的aware接口會(huì)在postProcessBeforeInitialization時(shí)去調(diào)用set***方法;
beamfactory接口可以做什么?
線程的join的用法,實(shí)現(xiàn)原理是什么?
定時(shí)器的實(shí)現(xiàn)原理是什么?
zab協(xié)議和paoxs協(xié)議?
總結(jié),總結(jié),成框架用金字塔的邏輯架構(gòu)

浙公網(wǎng)安備 33010602011771號(hào)