2021年十月,我和父母驅(qū)車(chē)去桐廬玩了3天。為什么地點(diǎn)選擇桐廬?首先風(fēng)景優(yōu)美。桐廬為杭州下轄縣,富春江畔,山巒重疊,又有古村坐落于山川之間,可謂是人杰地靈。其次距離適中,離吳...
2021年十月,我和父母驅(qū)車(chē)去桐廬玩了3天。為什么地點(diǎn)選擇桐廬?首先風(fēng)景優(yōu)美。桐廬為杭州下轄縣,富春江畔,山巒重疊,又有古村坐落于山川之間,可謂是人杰地靈。其次距離適中,離吳...
引子 半月前,有一位圈友在【caoz的小密圈】中提問(wèn): Caoz的小密圈能否再出一位亦仁? 看到這句話時(shí),我有點(diǎn)詫異,亦仁從何時(shí)起已經(jīng)成為一個(gè)IP符號(hào)化的名字?但仔細(xì)想想,似...
試想一下,一個(gè)科班出身,擁有豐富開(kāi)發(fā)經(jīng)驗(yàn)的程序員對(duì)于HTTP協(xié)議卻不甚了解?還是很尷尬的!這么一個(gè)可以說(shuō)是常識(shí)的問(wèn)題,可能很多人在沒(méi)有積極準(zhǔn)備的情況下,不一定能很好的回答出來(lái)...
一、 fatal: Could not read from remote repository.致命:無(wú)法讀取遠(yuǎn)程存儲(chǔ)庫(kù)。Please make sure you have ...
由于多說(shuō)將于近期關(guān)閉服務(wù),所以不得不切換其他的評(píng)論服務(wù) 昨天打開(kāi)自己的博客看了一眼,在評(píng)論框下面多了一行提示,多說(shuō)即將關(guān)閉,這個(gè)是多說(shuō)官網(wǎng)的頁(yè)面通知,重要通知: 多說(shuō)即將關(guān)閉...
國(guó)內(nèi)的評(píng)論系統(tǒng)暢言需要ICP備案,網(wǎng)易云跟帖沒(méi)用過(guò),那天鼓搗鼓搗。博主博客使用的是國(guó)外的Disqus評(píng)論系統(tǒng),只能科學(xué)上網(wǎng)后使用。 Disqus配置使用 Disqus網(wǎng)址:h...
在瑜伽課上,我們經(jīng)常會(huì)聽(tīng)到一種類(lèi)似于打鼾的聲音,這無(wú)形中給我們?cè)鎏砹烁蟮臍鈭?chǎng),尤其在Ashtang和流瑜伽中,這種呼吸我們稱(chēng)之為烏加依呼吸,也叫喉式呼吸法。 烏加依呼吸控制...
CountDownLatch等待多線程完成 CountDownLatch允許一個(gè)或多個(gè)線程等待其他線程完成操作。 譬如:解析一個(gè)excel,一個(gè)線程解析一個(gè)sheet頁(yè),當(dāng)所...
一、進(jìn)程間通信的概念 每個(gè)進(jìn)程各自有不同的用戶地址空間,任何一個(gè)進(jìn)程的全局變量在另一個(gè)進(jìn)程中都看不到,所以進(jìn)程之間要交換數(shù)據(jù)必須通過(guò)內(nèi)核,在內(nèi)核中開(kāi)辟一塊緩沖區(qū),進(jìn)程1把數(shù)據(jù)...
好記性不如爛筆頭 POSIX線程(POSIX threads),簡(jiǎn)稱(chēng)Pthreads,是線程的POSIX標(biāo)準(zhǔn)。該標(biāo)準(zhǔn)定義了創(chuàng)建和操縱線程的一整套API。在類(lèi)Unix操作系統(tǒng)(...
Docker版本分為兩個(gè):Docker Community Edition (CE)和 Docker Enterprise Edition (EE)。Docker CE社區(qū)版...
在之前的例子中,線程執(zhí)行的任務(wù),在Runnable對(duì)象中定義,和線程,在Thread對(duì)象中定義,兩者之間總是有一種密切的關(guān)聯(lián)。這樣的機(jī)制對(duì)小型應(yīng)用管用,但是在大型的應(yīng)用中,把...
到目前為止,本課程一直都專(zhuān)注于底層次的API——從非常早開(kāi)始就一直是JAVA平臺(tái)的組成部分。這些API對(duì)于解決一些基本問(wèn)題是非常足夠的,但是為了應(yīng)對(duì)更高級(jí)的任務(wù),就需要更高層...
如果一個(gè)對(duì)象的狀態(tài)在它構(gòu)建之后就不能被更改,我們就認(rèn)為它是不可更改的對(duì)象。對(duì)不可更改對(duì)象的最大限度的依賴被廣泛認(rèn)為是一種建立簡(jiǎn)單、可信賴代碼的好策略。 不可更改對(duì)象在并發(fā)的代...
線程通常需要協(xié)調(diào)它們的動(dòng)作。最常見(jiàn)的協(xié)調(diào)方法是被守護(hù)的代碼塊。這樣的代碼塊以在代碼塊執(zhí)行之前,對(duì)一個(gè)總是為真的條件進(jìn)行輪詢。為了能正確完成它,需要遵循一系列的步驟。 假設(shè),g...
一個(gè)并發(fā)線程能夠在一定時(shí)間內(nèi)執(zhí)行完成的能力被成為活性。這一節(jié)介紹了最常見(jiàn)的活性問(wèn)題,死鎖,并介紹了另外兩種活性問(wèn)題——饑餓和活鎖。 死鎖 死鎖描述了一種狀態(tài)——兩個(gè)或更多的線...
在編程中,一個(gè)原子操作是指能一次發(fā)生的動(dòng)作。一次原子操作不能被中途打斷:它要么完全執(zhí)行,要么根本不執(zhí)行。原子操作的副作用必須在它結(jié)束之后,才能看到。 我們已經(jīng)看到了一個(gè)自增操...
同步是在被稱(chēng)為內(nèi)部鎖或者管鎖的內(nèi)部實(shí)體上建立起來(lái)的。內(nèi)部鎖在同步的兩個(gè)方面都扮演了重要的角色:加強(qiáng)對(duì)一個(gè)對(duì)象狀態(tài)互斥的進(jìn)入,以及建立對(duì)可見(jiàn)性很重要的happens-befor...
JAVA編程語(yǔ)言提供了兩種基本的同步做法:同步方法和同步語(yǔ)句。其中更為復(fù)雜的同步語(yǔ)句會(huì)在之后的章節(jié)講。這個(gè)章節(jié)是關(guān)于同步方法的。 想要讓一個(gè)方法成為同步方法,只需要在方法定義...