synchronized(string)
String是java中的一種特殊類型,String在jdk中創(chuàng)建后共享常量池,即使在jdk1.8之后實現(xiàn)了不同的功能,它的功能也是相似的。
利用這個特征,可以使用String作為同步鎖。例如,在更新用戶信息時,可以使用用戶的名稱作為同步鎖,不同的用戶可以使用不同的鎖來提高并發(fā)性能。這個特征擴展適當(dāng)?shù)膱鼍胺浅6唷?/p>
java培訓(xùn)" title="ynchronized(tring)_java培訓(xùn)">在Jvm中具有String常量池緩存的功能
String s1 = “a”;
String s2 = “a”;
System.out.println(s1 == s2);//true
字符串常量池中的字符串只有個一個“a”,所以此時鎖的是同一個對象。
只不過正因為String的特殊性,java還包含了更多的與字符串相關(guān)的工具類,如StringBuffer、StringBuilder等。而且字符串映射的值是常量,但是String本身是可以new出來類似一個變量使用的。這些情況就會影響線程的同步了。
想要了解跟多關(guān)于Java培訓(xùn)課程內(nèi)容歡迎關(guān)注賦能網(wǎng)Java培訓(xùn),賦能網(wǎng)除了這些技術(shù)文章外還有免費的高質(zhì)量Java培訓(xùn)課程視頻供廣大學(xué)員下載學(xué)習(xí)。
本文鏈接:
本文章“ynchronized(tring)_java培訓(xùn)”已幫助 285 人
免責(zé)聲明:本信息由用戶發(fā)布,本站不承擔(dān)本信息引起的任何交易及知識產(chǎn)權(quán)侵權(quán)的法律責(zé)任!
本文由賦能網(wǎng) 整理發(fā)布。了解更多培訓(xùn)機構(gòu)》培訓(xùn)課程》學(xué)習(xí)資訊》課程優(yōu)惠》課程開班》學(xué)校地址等機構(gòu)信息,可以留下您的聯(lián)系方式,讓課程老師跟你詳細解答:
咨詢熱線:4008-569-579