大概流程圖

流程圖
剛看完一遍源碼,源碼太多,就不粘貼了,主要是邏輯確實(shí)有點(diǎn)繞,如果不來(lái)回看幾遍確實(shí)有些難以理解,先把大概流程畫上去;主要是怕自己忘記;說(shuō)一下NIO的好處吧;
tomcat?nio的優(yōu)勢(shì)是,充分利用線程,每次read事件處理完成,不管這次請(qǐng)求是否讀完,都會(huì)去讀下個(gè)請(qǐng)求,下個(gè)請(qǐng)求也是一樣,bio的話一個(gè)請(qǐng)求一個(gè)線程,在讀的時(shí)候可能需要很久線程會(huì)阻塞,沒(méi)有充分利用線程資源;
在這個(gè)代碼中存在? ?eventCache,nioChannels,soketprocess這種安全隊(duì)列,主要是為了對(duì)象復(fù)用,節(jié)省空間,也節(jié)省性能