java內(nèi)存模型面試回答 Java為什么要有自己的內(nèi)存模型?
Java為什么要有自己的內(nèi)存模型?Java沒有,它只是一種計(jì)算機(jī)語言。您應(yīng)該參考JVM。Java需要依靠JVM來實(shí)現(xiàn)跨平臺(tái)。如果JVM想要運(yùn)行各種類文件,它需要有自己的標(biāo)準(zhǔn)集。它需要使用自己的標(biāo)準(zhǔn)作為
Java為什么要有自己的內(nèi)存模型?
Java沒有,它只是一種計(jì)算機(jī)語言。
您應(yīng)該參考JVM。Java需要依靠JVM來實(shí)現(xiàn)跨平臺(tái)。如果JVM想要運(yùn)行各種類文件,它需要有自己的標(biāo)準(zhǔn)集。它需要使用自己的標(biāo)準(zhǔn)作為java程序和操作系統(tǒng)之間的橋梁。
具體可以看Java虛擬機(jī)的知識(shí)。
什么時(shí)候需要分布式鎖?
首先,我們需要知道在非分布式環(huán)境中使用鎖可以解決什么問題?
多線程環(huán)境,共享資源線程安全問題!此時(shí),共享資源通常在一臺(tái)機(jī)器的多線程中競爭。從JAVA內(nèi)存模型的角度來看,我們可以通過鎖定對(duì)象、方法和代碼塊來避免共享資源的競爭
!1,生成全局ID;
2,修改全局配置文件;
3,分布式服務(wù)中的seckill;
4,分布式環(huán)境中的重復(fù)提交;
1,使用數(shù)據(jù)庫的唯一主鍵實(shí)現(xiàn)鎖定
!2、使用redis指令:通常使用setnx方法,incr方法實(shí)現(xiàn)
3、使用zookeeper:使用API生成臨時(shí)節(jié)點(diǎn)實(shí)現(xiàn)鎖定!