更新時(shí)間:2019-12-20 16:23:57 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽2731次
并發(fā)編程JMM該如何學(xué)習(xí)?作為當(dāng)前市場(chǎng)上的主流編程語(yǔ)言,Java一直深受人們青睞,很多決定入行IT開(kāi)發(fā)的人都會(huì)首擇Java。為了能夠快速的掌握J(rèn)ava理論知識(shí)并積累相應(yīng)的項(xiàng)目經(jīng)驗(yàn),越來(lái)越多的人選擇專業(yè)的學(xué)習(xí),接下來(lái)小編就給大家分享一下并發(fā)編程JMM相關(guān)知識(shí)。
Java線程之間的通信由Java內(nèi)存模型(JMM)控制,JMM決定一個(gè)線程對(duì)共享變量的寫(xiě)入何時(shí)對(duì)另一個(gè)線程可見(jiàn)。
Java內(nèi)存模型規(guī)定了所有的變量都存儲(chǔ)在主內(nèi)存中,每個(gè)線程擁有自己的工作內(nèi)存,工作內(nèi)存中保存了被該線程使用的變量的主內(nèi)存副本拷貝,線程只能操作自己工作內(nèi)存的變量副本,操作完變量后會(huì)更新到主內(nèi)存,通過(guò)主內(nèi)存來(lái)完成與其他線程間變量值的傳遞。
在Java多線程開(kāi)發(fā)中,遵循著三個(gè)基本特性,分別是原子性、可見(jiàn)性和有序性,而Java的內(nèi)存模型正是圍繞著在并發(fā)過(guò)程中如何處理這三個(gè)特征建立的。
原子性
原子性是指操作是原子性的、不可中斷的。比如:String s="abc";這個(gè)操作是直接賦值,是原子性操作。再比如:i++;當(dāng)執(zhí)行i++時(shí),需要先獲取i的值,然后再執(zhí)行i+1,相當(dāng)于包含了兩個(gè)操作,所以不是原子性。
可見(jiàn)性
可見(jiàn)性是指共享數(shù)據(jù)的時(shí)候,一個(gè)線程修改了數(shù)據(jù),其他線程知道數(shù)據(jù)被修改,會(huì)重新讀取最新的主存的數(shù)據(jù)。
有序性
是指代碼執(zhí)行的有序性,對(duì)于一個(gè)線程執(zhí)行的代碼,我們可以認(rèn)為代碼是依次執(zhí)行的,但并發(fā)中可能就會(huì)出現(xiàn)亂序,因?yàn)榇a有可能發(fā)生指令重排序(Instruction Reorder),重排后的指令與原指令的順序未必一致。編譯器能夠自由的以優(yōu)化的名義去改變指令順序,在特定的環(huán)境下,處理器可能會(huì)次序顛倒的執(zhí)行指令。
注意:Java內(nèi)存模型不同于Java內(nèi)存結(jié)構(gòu),不要將二者概念混淆。Java內(nèi)存模型是為了解決各線程之間的通信所抽象出來(lái)的概念,Java內(nèi)存結(jié)構(gòu)則是Java中的數(shù)據(jù)存儲(chǔ)形式,也就是經(jīng)常提到的堆內(nèi)存、棧內(nèi)存等。
Java開(kāi)發(fā)的前景是毋庸置疑的,如果想進(jìn)入這個(gè)“吸金”的領(lǐng)域,如果你想了解更多Java編程方面的技術(shù),選擇專業(yè)的學(xué)習(xí)方式是明智之舉。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“如何學(xué)習(xí)Java,JMM并發(fā)編程”的內(nèi)容,希望對(duì)大家有幫助,如有疑問(wèn),請(qǐng)?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
Java全套自學(xué)資料
Java自學(xué)視頻教程(免費(fèi)下載學(xué)習(xí)):http://m.ilovecolors.com.cn/video.html
Java技術(shù)教程:http://m.ilovecolors.com.cn/tutorial/
相關(guān)文章
零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習(xí)路線圖
你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎
一個(gè)標(biāo)準(zhǔn)的Java程序員如何進(jìn)階?
相關(guān)閱讀
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
有基礎(chǔ) 直達(dá)就業(yè)
業(yè)余時(shí)間 高薪轉(zhuǎn)行
工作1~3年,加薪神器
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)