1. 原子性的操作:read,load,assign,use,shore,write 2. 可見性的操作:volatile,synchronized,final 3. 有序性...
1. 原子性的操作:read,load,assign,use,shore,write 2. 可見性的操作:volatile,synchronized,final 3. 有序性...
時(shí)間先后順序于先行發(fā)生沒有絕對(duì)關(guān)系,一切以先行發(fā)生原則為主。 1. 程序次序原則。同一個(gè)線程內(nèi),按照程序代碼順序先后執(zhí)行。 2. 管道鎖定規(guī)則。一個(gè)unlock操作先行于后面...
1. 不可變。final。如果是對(duì)象,所有屬性為final即可。 2. 絕對(duì)線程安全。 3. 相對(duì)線程安全。對(duì)象單獨(dú)操作都是線程安全的,對(duì)于一些特定順序的連續(xù)調(diào)用,需要額外使...
1. 互斥同步。保證在某一時(shí)刻共享數(shù)據(jù)只被一個(gè)線程使用。 synchronize為什么消耗大呢?synchronize在方法完成之前,會(huì)阻塞后面的進(jìn)程,Java的線程映射...
1. 自旋鎖與自適應(yīng)自旋。共享數(shù)據(jù)的鎖定只會(huì)持續(xù)短時(shí)間,通過自旋看看持有鎖的線程是否會(huì)很快釋放。1.6之后加入自適應(yīng)自旋,根據(jù)前一次在同一個(gè)鎖上的自旋時(shí)間及擁有者狀態(tài)而定。 ...
SDS:simple dynamic String 優(yōu)勢(shì): 1.提升效率,C語(yǔ)言的字符串如果需要知道字符串的長(zhǎng)度,需要遍歷,復(fù)雜度是O(n),而針對(duì)SDS,復(fù)雜度是O(1...
每個(gè)字典的底層采用哈希表實(shí)現(xiàn),每個(gè)字典帶有兩個(gè)哈希表,一個(gè)平常使用,一個(gè)僅在rehash時(shí)使用。redis使用murmurHash2算法來計(jì)算hash值 漸進(jìn)式rehash ...
Redis 并沒有直接使用數(shù)據(jù)結(jié)構(gòu)來構(gòu)建鍵值對(duì),而是基于這些數(shù)據(jù)結(jié)構(gòu)創(chuàng)建了一個(gè)對(duì)象系統(tǒng)。 該對(duì)象保存與數(shù)據(jù)有關(guān)的三個(gè)屬性分別是:type(類型),encoding(編碼類型)...
哈希對(duì)象的編碼可以是ziplist或hashtable 1. ziplist編碼的哈希對(duì)象使用壓縮列表作為底層實(shí)現(xiàn),每當(dāng)新的鍵值對(duì)加入哈希對(duì)象時(shí),程序首先會(huì)將保存了鍵的壓縮列...
集合對(duì)象的編碼可以是intset或是hashtable 有序集合對(duì)象的編碼可以是ziplist或是skiplist。 skiplist編碼的有序集合使用zset結(jié)構(gòu)作為底層實(shí)...
1. 所有的過期指令最終都變成了PEXPIREAT指令 2. redis保存一份過期字典,鍵是一個(gè)指針,指向某個(gè)鍵對(duì)象,值是過期時(shí)間,一個(gè)毫秒精度的時(shí)間戳。過期字典與鍵空間中...
1. RDB文件的創(chuàng)建與載入 1. 有兩個(gè)指令可以創(chuàng)建RDB文件,分別是save與bgsave,前者stw,后者創(chuàng)建子進(jìn)程運(yùn)行。 2. RDB文件的載入沒有指令控制,...
/common 目錄:類庫(kù)可被 Tomcat 及所有 Web 應(yīng)用程序使用 /server 目錄:類庫(kù)可被Tomcat使用,對(duì)所有Web引用不可見 /shared 目錄:類庫(kù)...
oopMap 安全點(diǎn) 主動(dòng)式中斷(搶斷式中斷) 安全區(qū)域 Serial收集器:?jiǎn)尉€程收集器,工作時(shí)必須暫停虛擬機(jī)的其他工作,STW ParNew收集器:Serial收集器的多...
1. 標(biāo)記清除算法。最基礎(chǔ)的收集算法,缺點(diǎn)是標(biāo)記跟清除效率不高,清除后會(huì)產(chǎn)生大量的不連續(xù)碎片,這樣在之后遇到大對(duì)象的時(shí)候會(huì)重新出發(fā)一次收集算法。 2. 復(fù)制算法。將內(nèi)存分為兩...
jps:虛擬機(jī)進(jìn)程狀況工具 jps -l jstat:虛擬機(jī)統(tǒng)計(jì)信息監(jiān)視工具 查詢gc:jstat -gc 250 20 每250毫秒輸出輸出一次gc日志,共20次 ...
堆的回收比較好理解,方法區(qū)同時(shí)也會(huì)被回收 回收策略: 1. 廢棄常量,即該常量不再被任何String對(duì)象所引用; 2. 無用的類。需同時(shí)滿足下列三個(gè)條件: a...