在閱讀ArrayList的源碼時(shí),你會(huì)發(fā)現(xiàn)這樣一個(gè)接口:RandomAccess。接下來(lái)讓我們探索一下這個(gè)接口。 首先,這是一個(gè)標(biāo)識(shí)性接口,不包...
阿里巴巴Java開(kāi)發(fā)手冊(cè)中有這樣一條規(guī)定: 【強(qiáng)制】不要在foreach循環(huán)里進(jìn)行元素的remove/add操作。remove元素請(qǐng)使用Iter...
基本概念 持續(xù)集成(Continuous integration,CI)指的是,頻繁地(一天多次)將代碼集成到主干。它的好處主要有兩個(gè): 快速發(fā)...
Java序列化可以將對(duì)象轉(zhuǎn)換為二進(jìn)制序列,以方便對(duì)象持久化和網(wǎng)絡(luò)傳輸。 基本用法 要實(shí)現(xiàn)序列化的對(duì)象必須實(shí)現(xiàn)java.io.Serializab...
在瀏覽器中輸入一個(gè)網(wǎng)址,會(huì)發(fā)生什么? 第一步,瀏覽器獲取域名后向DNS服務(wù)器請(qǐng)求獲得該域名對(duì)應(yīng)的服務(wù)器的IP地址,這一步使用了UDP協(xié)議 第二步...
TCP底層會(huì)根據(jù)TCP緩沖區(qū)的實(shí)際情況對(duì)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)流進(jìn)行包的劃分,而不會(huì)根據(jù)上層業(yè)務(wù)數(shù)據(jù)的具體含義來(lái)劃分,所以,一個(gè)在業(yè)務(wù)邏輯上完整的包在實(shí)...
select、poll、epoll等系統(tǒng)調(diào)用都是IO多路復(fù)用的操作系統(tǒng)層面的實(shí)現(xiàn)機(jī)制。IO多路復(fù)用是一種同步非阻塞的網(wǎng)絡(luò)IO模型,“復(fù)用”是指通...
如果明明有這個(gè)類(lèi)存在但仍然提示cannot access,這可能是IDE的bug,可以清除緩存并重啟: 嘗試 File->Invalidate ...
策略模式簡(jiǎn)介 當(dāng)我們因不同的外部條件需要對(duì)某個(gè)對(duì)象執(zhí)行不同的算法時(shí),我們就可以把具體的算法實(shí)現(xiàn)從具體的業(yè)務(wù)處理中獨(dú)立出來(lái),把它們實(shí)現(xiàn)成為單獨(dú)的算...