前言:上一節(jié)講述了鎖的原理,這節(jié)先講解鎖的應(yīng)用,再通過上節(jié)的原理來實(shí)現(xiàn)一個(gè)自定義的鎖。 1 從鎖開始講起 1.1 lock 在java.util...
投稿
前言:上一節(jié)講述了鎖的原理,這節(jié)先講解鎖的應(yīng)用,再通過上節(jié)的原理來實(shí)現(xiàn)一個(gè)自定義的鎖。 1 從鎖開始講起 1.1 lock 在java.util...
前言:上一節(jié)學(xué)習(xí)了JMM、Happen Before、可見性等等這種概念,基本都是來源于JDK的官方網(wǎng)站中,上面有所說明了,能夠追根溯源才能夠跟...
前言:JVM內(nèi)存模型、Java內(nèi)存區(qū)域、GC分代回收容易搞混。前面講解了JVM內(nèi)存區(qū)域,它是Java代碼編譯成.class字節(jié)碼之后JVM運(yùn)行時(shí)...
概念:線程池顧名思義是存放線程的池子,意思是當(dāng)程序需要用到線程的時(shí)候,就從線程池中取出線程,用完之后就可以將線程放回線程池中去。 7.1線程池相...
概念:多線程中訪問共享數(shù)據(jù)的時(shí)候會(huì)有線程間數(shù)據(jù)同步的問題,并不是所有時(shí)候都會(huì)用到共享數(shù)據(jù),有些數(shù)據(jù)只需要在其線程內(nèi)使用,數(shù)據(jù)就被封閉在各自的線程...
5.1 線程的通信方式 有時(shí)候我們需要進(jìn)行線程間通信,如簡(jiǎn)單的生產(chǎn)者消費(fèi)者模式中,生產(chǎn)者生產(chǎn)完產(chǎn)品,需要通知消費(fèi)者去消費(fèi)產(chǎn)品,這就是一個(gè)最簡(jiǎn)單的...
4.1 CPU緩存 為了提高程序運(yùn)行的性能,現(xiàn)代CPU在很多方面對(duì)程序進(jìn)行了優(yōu)化。使用CPU高速緩存就是其中一種途徑。目的就是為了盡可能地避免處...
3.1 線程終止簡(jiǎn)介 線程終止顧明思議,我們?cè)诰€程運(yùn)行期間,有時(shí)候需要在某些條件下,讓線程停止運(yùn)行,并且目標(biāo)線程只有在被阻塞(此處的阻塞不是指線...
2.1 線程狀態(tài)簡(jiǎn)介 在java.lang.Thread.State中能清楚的看到Java中定義了6種狀態(tài): New:尚未啟動(dòng)的線程的線程狀態(tài) ...
前言:了解Java運(yùn)行原理更有利于理解后期的線程原理知識(shí) 1.1 Class文件結(jié)構(gòu) 學(xué)過Java的都知道,Java文件先經(jīng)過編譯器編譯成.cl...