Docker是一個(gè)開源的應(yīng)用容器引擎,它基于go語(yǔ)言開發(fā),并遵從Apache2.0開源協(xié)議。使用Docker可以讓開發(fā)者封裝他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任意的 Linux 機(jī)器上,也可以實(shí)現(xiàn)虛擬化。Docker 容器完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,這保證了容器之間的安全性。查看全文>>
自旋鎖原理非常簡(jiǎn)單,如果持有鎖的線程能在很短時(shí)間內(nèi)釋放鎖資源,那么那些等待競(jìng)爭(zhēng)鎖的線程就不需要做內(nèi)核態(tài)和用戶態(tài)之間的切換進(jìn)入阻塞掛起狀態(tài),它們只需要等一等(自旋),等持有鎖的線程釋放鎖后即可立即獲取鎖,這樣就避免用戶線程和內(nèi)核的切換的消耗。查看全文>>
樂(lè)觀鎖是一種樂(lè)觀思想,即認(rèn)為讀多寫少,遇到并發(fā)寫的可能性低,每次去拿數(shù)據(jù)的時(shí)候都認(rèn)為別人不會(huì)修改,所以不會(huì)上鎖,但是在更新的時(shí)候會(huì)判斷一下在此期間別人有沒(méi)有去更新這個(gè)數(shù)據(jù),采取在寫時(shí)先讀出當(dāng)前版本號(hào),然后加鎖操作(比較跟上一次的版本號(hào),如果一樣則更新),如果失敗則要重復(fù)讀-比較-寫的操作。查看全文>>
對(duì)于sleep()方法,我們首先要知道該方法是屬于Thread類中的。而wait()方法,則是屬于Object類中的。查看全文>>
Java語(yǔ)言提供了弱同步機(jī)制,即volatile變量,以確保變量的更新通知其他線程。volatile變量具備兩種特性,volatile變量不會(huì)被緩存在寄存器或者對(duì)其他處理器不可見(jiàn)的地方,因此在讀取volatile類型的變量時(shí)總會(huì)返回最新寫入的值。查看全文>>
在了解“什么是Java”之前,我們先來(lái)認(rèn)識(shí)下什么是計(jì)算機(jī)語(yǔ)言。計(jì)算機(jī)語(yǔ)言(Computer Language)是人與計(jì)算機(jī)之間通信的語(yǔ)言,它主要由一些指令組成,這些指令包括數(shù)字、符號(hào)和語(yǔ)法等內(nèi)容,程序員可以通過(guò)這些指令來(lái)指揮計(jì)算機(jī)進(jìn)行各種工作。查看全文>>