LRU (Least Recently Used) 是一種緩存失效策略,即指定最大緩存 item 的數(shù)量,在緩存數(shù)量不足時(shí)將最近最少使用的緩存淘汰掉。 不失一般的,我們假定對(duì)...
LRU (Least Recently Used) 是一種緩存失效策略,即指定最大緩存 item 的數(shù)量,在緩存數(shù)量不足時(shí)將最近最少使用的緩存淘汰掉。 不失一般的,我們假定對(duì)...
大小寫(xiě)轉(zhuǎn)換 大小寫(xiě)轉(zhuǎn)換是一個(gè)常用功能,每種語(yǔ)言通常都提供了支持,那么在shell中怎么進(jìn)行大小寫(xiě)轉(zhuǎn)換呢? 大寫(xiě)轉(zhuǎn)小寫(xiě) 小寫(xiě)轉(zhuǎn)大寫(xiě) TR命令解釋 tr可以非常容易地實(shí)現(xiàn) sed...
今天接了個(gè)爬蟲(chóng)任務(wù),主要是從網(wǎng)頁(yè)上將數(shù)據(jù)爬下來(lái),規(guī)整后導(dǎo)出到Excel。以前工作中的爬蟲(chóng)都是基于HttpClient+jsoup,很早就知道Nodejs有cheerio,HT...
在日常開(kāi)發(fā)中,我們經(jīng)常會(huì)使用HashMap,然而HashMap不是線程安全的,在多線程公用一個(gè)Map的情況下,ConcurrentHashMap通常是一個(gè)更好的選擇。 Con...
java提供了內(nèi)置鎖,即synchronized,除此以外,還提供了顯式鎖,下面我們分別分析其實(shí)現(xiàn)的機(jī)制,并討論如何在這兩者之間進(jìn)行選擇。 AQS AQS即AbstractQ...
簡(jiǎn)書(shū) 占小狼轉(zhuǎn)載請(qǐng)注明原創(chuàng)出處,謝謝! 前言 在java.util.concurrent.locks包中有很多Lock的實(shí)現(xiàn)類,常用的有ReentrantLock、ReadW...
引子 在java中,為了保證某種資源只被初始化一次,我們通常會(huì)將其放入同步代碼塊中,如: 上面的代碼可以保證正確性,但是執(zhí)行效率上似乎還有優(yōu)化的空間:無(wú)論resource是否...