日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Java中的transient,volatile和strictfp關(guān)鍵字

系統(tǒng) 2968 0
Java中的transient,volatile和strictfp關(guān)鍵字
如果用transient聲明一個(gè)實(shí)例變量,當(dāng)對(duì)象存儲(chǔ)時(shí),它的值不需要維持。例如:
Java代碼 復(fù)制代碼 收藏代碼
  1. class T{
  2. transient int a; //不需要維持
  3. int b; //需要維持
  4. }

這里,如果T類的一個(gè)對(duì)象寫入一個(gè)持久的存儲(chǔ)區(qū)域,a的內(nèi)容不被保存,但b的將被保存。
volatile修飾符告訴編譯器被volatile修飾的變量可以被程序的其他部分改變。在多線程程序中,有時(shí)兩個(gè)或更多的線程共享一個(gè)相同的實(shí)例變量。考慮效率問(wèn)題,每個(gè)線程可以自己保存該共享變量的私有拷貝。實(shí)際的變量副本在不同的時(shí)候更新,如當(dāng)進(jìn)入synchronized方法時(shí)。
用strictfp修飾類或方法,可以確保浮點(diǎn)運(yùn)算(以及所有切斷)正如早期的Java版本那樣準(zhǔn)確。切斷只影響某些操作的指數(shù)。當(dāng)一個(gè)類被strictfp修飾,所有的方法自動(dòng)被strictfp修飾。
strictfp的意思是FP-strict,也就是說(shuō)精確浮點(diǎn)的意思。在Java虛擬機(jī)進(jìn)行浮點(diǎn)運(yùn)算時(shí),如果沒(méi)有指定strictfp關(guān)鍵字時(shí),Java的編譯器以及運(yùn)行環(huán)境在對(duì)浮點(diǎn)運(yùn)算的表達(dá)式是采取一種近似于我行我素的行為來(lái)完成這些操作,以致于得到的結(jié)果往往無(wú)法令你滿意。而一旦使用了strictfp來(lái)聲明一個(gè)類、接口或者方法時(shí),那么所聲明的范圍內(nèi)Java的編譯器以及運(yùn)行環(huán)境會(huì)完全依照浮點(diǎn)規(guī)范IEEE-754來(lái)執(zhí)行。因此如果你想讓你的浮點(diǎn)運(yùn)算更加精確,而且不會(huì)因?yàn)椴煌挠布脚_(tái)所執(zhí)行的結(jié)果不一致的話,那就請(qǐng)用關(guān)鍵字strictfp。
你可以將一個(gè)類、接口以及方法聲明為strictfp,但是不允許對(duì)接口中的方法以及構(gòu)造函數(shù)聲明strictfp關(guān)鍵字,例如下面的代碼:

1. 合法的使用關(guān)鍵字strictfp
Java代碼 復(fù)制代碼 收藏代碼
  1. strictfp interface A{}
  2. public strictfp class FpDemo1{
  3. strictfp void f(){}
  4. }

2. 錯(cuò)誤的使用方法
Java代碼 復(fù)制代碼 收藏代碼
  1. interface A{
  2. strictfp void f();
  3. }
  4. public class FpDemo2{
  5. strictfp FpDemo2(){}
  6. }

一旦使用了關(guān)鍵字strictfp來(lái)聲明某個(gè)類、接口或者方法時(shí),那么在這個(gè)關(guān)鍵字所聲明的范圍內(nèi)所有浮點(diǎn)運(yùn)算都是精確的,符合IEEE-754規(guī)范的。例如一個(gè)類被聲明為strictfp,那么該類中所有的方法都是strictfp的。



Keys: volatile

使用對(duì)象:字段

介紹:因?yàn)楫惒骄€程可以訪問(wèn)字段,所以有些優(yōu)化操作是一定不能作用在字段上的。volatile有時(shí)

可以代替synchronized。




Keys:transient

  使用對(duì)象:字段

  介紹:字段不是對(duì)象持久狀態(tài)的一部分,不應(yīng)該把字段和對(duì)象一起串起。

Java中的transient,volatile和strictfp關(guān)鍵字


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 鄱阳县| 邯郸县| 商河县| 建始县| 建昌县| 会理县| 六枝特区| 民乐县| 富平县| 鄄城县| 广灵县| 精河县| 绥宁县| 齐河县| 依兰县| 通江县| 丰城市| 翼城县| 武鸣县| 英超| 茌平县| 正安县| 北宁市| 郑州市| 饶平县| 色达县| 宝鸡市| 外汇| 望都县| 漠河县| 武清区| 龙江县| 汾西县| 临城县| 呼和浩特市| 梓潼县| 胶州市| 岚皋县| 古丈县| 虹口区| 桃园县|