Java Memory Mode,java內(nèi)存模型,java多線程通信模型
涉及到維度:JAVA 層面 JVM層面 硬件層面
需要重點(diǎn)掌握理解 并發(fā)的三大特性,JMM工作內(nèi)存和主存的關(guān)系,多線程是如何通信的,volatile保證可見性和有序性,CAS
并發(fā)和并行并行:同一時刻,多條指令可以在多個處理器同時執(zhí)行
并發(fā):同一時刻,只有一條指令執(zhí)行。多個線程之間快速輪動,交替執(zhí)行
可見性 一個線程改變了共享變量的值,其他線程可以看到修改后的值
如何保證:
通過volatile關(guān)鍵字保證可見性
通過內(nèi)存屏障保證可見性
通過synchronized關(guān)鍵字保證可見性
通過Locak保證可見性
通過final關(guān)鍵字保證可見性
還可以通過是內(nèi)存中關(guān)鍵字失效來保證
有序性 程序執(zhí)行順序按照代碼先后順序執(zhí)行,JVM存在指令重排,所以存在有序性問題
如何保證:
通過volatile關(guān)鍵字保證可見性
通過內(nèi)存屏障保證可見性
通過synchronized關(guān)鍵字保證可見性
通過Locak保證可見性
原子性 一個或多個操作,要么全執(zhí)行要不全部不執(zhí)行
如何保證:
通過synchronized關(guān)鍵字保證原子性
通過Locak保證原子性
通過CAS保證原子性
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧