国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

金閶公司網(wǎng)站建設(shè)電話優(yōu)化排名推廣關(guān)鍵詞

金閶公司網(wǎng)站建設(shè)電話,優(yōu)化排名推廣關(guān)鍵詞,桐鄉(xiāng)哪里有做網(wǎng)站的,收錄提交入口CAS是一種樂(lè)觀鎖機(jī)制,一種比較并交換的過(guò)程和理念,用來(lái)解決線程安全問(wèn)題,具體來(lái)講就是對(duì)共享變量值的安全更新機(jī)制。能夠保證原子、可見(jiàn)、一致性。這種交換過(guò)程是在Unsafe類(lèi)中實(shí)現(xiàn)。 從一段簡(jiǎn)單的代碼開(kāi)始來(lái)對(duì)源碼做分析 public static void…

CAS是一種樂(lè)觀鎖機(jī)制,一種比較并交換的過(guò)程和理念,用來(lái)解決線程安全問(wèn)題,具體來(lái)講就是對(duì)共享變量值的安全更新機(jī)制。能夠保證原子、可見(jiàn)、一致性。這種交換過(guò)程是在Unsafe類(lèi)中實(shí)現(xiàn)。

從一段簡(jiǎn)單的代碼開(kāi)始來(lái)對(duì)源碼做分析

    public static void main(String[] args) {AtomicInteger ai = new AtomicInteger(0);ai.getAndAdd(1);System.out.println(ai.get());//打印對(duì)象ai的內(nèi)存結(jié)構(gòu),需要引入jol-core工具包ClassLayout classLayout = ClassLayout.parseInstance(ai);System.out.println(classLayout.toPrintable());}

從 new AtomicInteger(0) 進(jìn)入先看構(gòu)造方法和靜態(tài)代碼塊,再看ai.getAndAdd(1)做了什么。

public class AtomicInteger extends Number implements java.io.Serializable {...private static final long valueOffset;static {try {//獲取初始值value的內(nèi)存偏移量,這個(gè)偏移量指的是變量相對(duì)于對(duì)象地址的偏移,通過(guò)此偏移可以獲取變量在內(nèi)存中的值,后面還會(huì)介紹valueOffset = unsafe.objectFieldOffset(AtomicInteger.class.getDeclaredField("value"));} catch (Exception ex) { throw new Error(ex); }}//初始化的時(shí)候給value賦值public AtomicInteger(int initialValue) {value = initialValue;}//比較并交換的具體實(shí)現(xiàn),需要進(jìn)入到Unsafe類(lèi)中public final int getAndAdd(int delta) {//this-當(dāng)前atomicInter對(duì)象;valueoffest-內(nèi)存偏移量;delta需要增加的值return unsafe.getAndAddInt(this, valueOffset, delta);}
}

?進(jìn)入到Unsafe.getAndAddInt方法中

 public final class Unsafe {...public final int getAndAddInt(Object var1, long var2, int var4) {int var5;do {//通過(guò)AtomicInteger對(duì)象和其變量value的偏移量獲取內(nèi)存中的value值,這里var5對(duì)其他線程                            是可見(jiàn)的, 如果不可見(jiàn),那么這個(gè)值的獲取就可能非內(nèi)存真實(shí)值。如果var5 = this.getIntVolatile(var1, var2);//compareAndSwapInt的過(guò)程是原子性的,將重新獲取到的內(nèi)存value值與var5比較,true則說(shuō)明value的內(nèi)存值并未被修改,可以將原值var5 + 增值var4。} while(!this.compareAndSwapInt(var1, var2, var5, var5 + var4));return var5;}
}  

通過(guò)斷點(diǎn)看具體的值

?再來(lái)看偏移量是什么,下面是AtomicInteger類(lèi)型對(duì)象ai的內(nèi)存結(jié)構(gòu)

java.util.concurrent.atomic.AtomicInteger object internals:OFFSET  SIZE   TYPE DESCRIPTION                               VALUE0     4        (object header)                           01 00 00 00 (00000001 00000000 00000000 00000000) (1)4     4        (object header)                           00 00 00 00 (00000000 00000000 00000000 00000000) (0)8     4        (object header)                           bd 3d 00 f8 (10111101 00111101 00000000 11111000) (-134201923)12     4    int AtomicInteger.value                       1
Instance size: 16 bytes
Space losses: 0 bytes internal + 0 bytes external = 0 bytes total

請(qǐng)看標(biāo)紅的位置,由于對(duì)象的分配是在一個(gè)地址段內(nèi),對(duì)象中變量就是基于對(duì)象初始地址作了偏移,這里是對(duì)象中value變量相對(duì)對(duì)象初始地址的位置,其值最終為1。

個(gè)人理解,有不對(duì)之處,望請(qǐng)指正,謝謝。

http://aloenet.com.cn/news/43255.html

相關(guān)文章:

  • 拓客軟件網(wǎng)站百度seo關(guān)鍵詞優(yōu)化
  • 阿里云服務(wù)器上的網(wǎng)站怎么做修改四川省人民政府官網(wǎng)
  • 北京公司網(wǎng)站建設(shè)價(jià)格seo營(yíng)銷(xiāo)排名
  • 手機(jī)網(wǎng)站底部電話軟文營(yíng)銷(xiāo)的寫(xiě)作技巧有哪些
  • jq特效網(wǎng)站模板全網(wǎng)最好的推廣平臺(tái)
  • 怎么做自已的網(wǎng)站太原seo網(wǎng)站排名
  • asp做網(wǎng)站的優(yōu)勢(shì)是什么新品牌推廣方案
  • 鄭州網(wǎng)站建設(shè)特色得物app的網(wǎng)絡(luò)營(yíng)銷(xiāo)分析論文
  • 桂林市內(nèi)旅游必去景點(diǎn)整站seo外包
  • 深圳做網(wǎng)站信科品牌推廣內(nèi)容
  • ppt模板免費(fèi)下載網(wǎng)站不需要登錄torrentkitty磁力官網(wǎng)
  • 快速做網(wǎng)站的軟件免費(fèi)網(wǎng)絡(luò)空間搜索引擎
  • 360客服做網(wǎng)站電話網(wǎng)絡(luò)工程師培訓(xùn)班要多少錢(qián)
  • 在線做章網(wǎng)站aso蘋(píng)果關(guān)鍵詞優(yōu)化
  • 哪家建設(shè)網(wǎng)站長(zhǎng)春網(wǎng)站建設(shè)平臺(tái)
  • 如何自己做攝影網(wǎng)站萬(wàn)能搜索引擎網(wǎng)站
  • 微店網(wǎng)站鏈接怎么做seo外包是什么意思
  • 手工做衣服網(wǎng)站網(wǎng)站引流推廣怎么做
  • 手機(jī)h5制作小程序百度手機(jī)seo軟件
  • WordPress自定義計(jì)算小紅書(shū)seo排名
  • 重慶品牌網(wǎng)站建設(shè)電商自學(xué)網(wǎng)
  • wap手機(jī)網(wǎng)站源碼企業(yè)網(wǎng)站的作用有哪些
  • wordpress 更新很慢微信公眾號(hào)seo
  • 西安做的好的網(wǎng)站公司南昌seo全網(wǎng)營(yíng)銷(xiāo)
  • 怎么創(chuàng)建網(wǎng)站 免費(fèi)的官網(wǎng)設(shè)計(jì)公司
  • 新企業(yè)在哪里做網(wǎng)站好關(guān)鍵詞推廣優(yōu)化排名品牌
  • wordpress文章頁(yè)面菜單優(yōu)化大師win7
  • 女女做的網(wǎng)站目前最新推廣平臺(tái)
  • 南通網(wǎng)站開(kāi)發(fā)招聘按效果付費(fèi)的網(wǎng)絡(luò)推廣方式
  • html5手機(jī)網(wǎng)站開(kāi)發(fā)區(qū)別百度快照推廣