本篇文章為大家展示了Java中內(nèi)存交互的規(guī)則有哪些,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
創(chuàng)新互聯(lián)公司專注于新干企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城網(wǎng)站制作。新干網(wǎng)站建設(shè)公司,為新干等地區(qū)提供建站服務(wù)。全流程定制網(wǎng)站建設(shè),專業(yè)設(shè)計,全程項目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Java是一門面向?qū)ο缶幊陶Z言,可以編寫桌面應(yīng)用程序、Web應(yīng)用程序、分布式系統(tǒng)和嵌入式系統(tǒng)應(yīng)用程序。
1、不允許read和load、store和write操作之一單獨出現(xiàn)。即不允許一個變量從主內(nèi)存讀取了但工作內(nèi)存不接受?;蛘邚墓ぷ鲀?nèi)存發(fā)起回寫了但主內(nèi)存不接受的情況
2、不允許一個線程丟棄它的最近的assign操作。即變量在工作內(nèi)存改變了后必須把該變化同步到主內(nèi)存中。
3、不允許沒有發(fā)生任何的assign操作就把數(shù)據(jù)同步到主內(nèi)存中。
4、一個新的變量只能在主內(nèi)存中誕生,工作內(nèi)存要使用或者賦值。必須要經(jīng)過load或assign操作。
5、一個變量在同一時刻只允許一條線程進行l(wèi)ock操作,但lock操作可以被同一線程重復(fù)執(zhí)行多次,多次執(zhí)行l(wèi)ock后,只有執(zhí)行相同次數(shù)的unlock操作,變量才會被解鎖。
6、如果對一個變量進行l(wèi)ock操作后,那將會清空工作內(nèi)存中此變量的值,在執(zhí)行引擎使用這個變量前,需要重新執(zhí)行l(wèi)oad或assign操作。
7、如果一個變量事先沒有被lock操作鎖定,那就不允許對它進行unlock操作。也不允許去unlock一個被其他線程鎖定的變量。
8、對一個變量執(zhí)行unLock操作之前,必須要把次變量同步到主內(nèi)存中(執(zhí)行store,write操作)。
上述內(nèi)容就是Java中內(nèi)存交互的規(guī)則有哪些,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。