索引相關(guān) 索引類型 主鍵索引:數(shù)據(jù)列不允許重復(fù),不允許為NULL。一個(gè)表只能有一個(gè)主鍵索引。InnoDB的主鍵索引為聚簇索引,而MyISAM的主鍵索引為非聚簇索引。創(chuàng)建:AL...
索引相關(guān) 索引類型 主鍵索引:數(shù)據(jù)列不允許重復(fù),不允許為NULL。一個(gè)表只能有一個(gè)主鍵索引。InnoDB的主鍵索引為聚簇索引,而MyISAM的主鍵索引為非聚簇索引。創(chuàng)建:AL...
kSum 泛指一類問題,例如 leetcode 第1題 2 Sum,leetcode 第15題 3 Sum,leetcode 第18題 4 Sum。 我們先一題一題來看,然后...
問題 tag: Medium 分析 這題最簡單的做法是將數(shù)組排序,然后直接返回第K大的元素。復(fù)雜度為:O(NlogN)。但是,很明顯,出題者并不想讓我們這么做。 如果對數(shù)組排...
緩存,降級和限流是大型分布式系統(tǒng)中的三把利劍。目前限流主要有漏桶和令牌桶兩種算法。 緩存:緩存的目的是減少外部調(diào)用,提高系統(tǒng)響速度。俗話說:"緩存是網(wǎng)站優(yōu)化第一定律"。緩存又...
Java中所有的類都繼承自java.lang.Object類,Object類中一共有11個(gè)方法: getClass方法 這是一個(gè)native方法,并且是'final'的,也就...
問題 如何讓兩個(gè)線程交替打印1-100的數(shù)字?廢話不多說,直接上代碼: synchronized鎖+AtomicInteger 這里需要注意兩點(diǎn): 用AtomicIntege...
網(wǎng)上有關(guān)Redis分布式鎖的文章可謂多如牛毛了,不信的話你可以拿關(guān)鍵詞“Redis 分布式鎖”隨便到哪個(gè)搜索引擎上去搜索一下就知道了。這些文章的思路大體相近,給出的實(shí)現(xiàn)算法也...
引言 Java中斷機(jī)制為我們提供了一種"試圖"停止一個(gè)線程的方法。設(shè)想我們有一個(gè)線程阻塞在一個(gè)耗時(shí)的I/O中,我們又不想一直等下去,那么我們怎么樣才能停止這個(gè)線程呢?答案就是...
ExecutorService是我們經(jīng)常使用的線程池,當(dāng)我們使用完線程池后,需要關(guān)閉線程池。ExecutorService的shutdown()和shutdownNow()方...
優(yōu)惠劵系統(tǒng)活動庫存一般分為:總庫存和日庫存。在一個(gè)用戶來領(lǐng)取優(yōu)惠劵時(shí),需要判斷當(dāng)前剩余總庫存和日庫存是否充足,如果充足則進(jìn)行庫存扣減,否則提示用戶領(lǐng)取失敗??値齑婧腿諑齑娴目?..
維基百科中對偽共享的定義如下: 其大致意思是:CPU的緩存是以緩存行(cache line)為單位進(jìn)行緩存的,當(dāng)多個(gè)線程修改不同變量,而這些變量又處于同一個(gè)緩存行時(shí)就會影響彼...
MQ消費(fèi)端在接收到MQ消息之后按照業(yè)務(wù)key(uuid)進(jìn)行防重,達(dá)到消費(fèi)的冪等性。 業(yè)務(wù)場景 用戶在使用白條優(yōu)惠劵打白條支付訂單后,如果用戶整單退款,需要給用戶補(bǔ)發(fā)優(yōu)惠劵。...
Disruptor是一個(gè)低延遲(low-latency),高吞吐量(high-throughput)的事件發(fā)布訂閱框架。通過Disruptor,可以在一個(gè)JVM中發(fā)布事件,和...
final是Java中的一個(gè)關(guān)鍵字,final可用于修飾類、方法、參數(shù)和變量(包括實(shí)例變量和類變量)。 final修飾類 final修飾的類具有不可繼承性,也就是如果一個(gè)類是...