原创 Java使異步變同步的方法

使用CountDownLatch,在獲取結果時使用await方法,在設置結果的時候使用countDown方法。這樣就可保證獲取方法阻塞住,直到結果被計算出來。 使用futureTask加上executor進行異步任務

原创 Java併發之對於CountDownLatch的理解?

學習一個東西,一定要搞清楚使用的場景和侷限,才能在合適的場景下使用。 CountDownLatch 是Java併發包中的一個同步助手類,用於同步多線程。 具體的用法可以總結成一句話: 如果有A組和B組兩組線程,每組由一個或者多個線

原创 Java併發包中的併發集合 vs 同步集合

java併發包中的併發集合與sychronized collection的不同之處在於: 併發包中的集合是線程安全的,但是不是通過一個互斥鎖即synchronized來實現線程安全的,這使得他們比synchronized 集合更

原创 Java併發包中的CopyOnWriteXXXX集合特點

下面以CopyOnWriteArrayList爲例子來說明CopyOnWrite集合的特點: A thread-safe variant of java.util.ArrayList in which all mutative o

原创 在Java集合中什麼是結構性的修改?

原文出處(ArrayList的實現文檔中) 結構性的改變是一種操作:添加,刪除一個或者多個元素,或者明顯的重新調整所背後的數組的大小;僅僅修改元素的內容並不叫結構性修改 結構性的改變通常通過一些線程安全的對象來完成,這些對象對線程

原创 Java工程無法找到AnnotationProcessor產生的文件

解決辦法:根build.gradle文件裏面加入代碼將產生的文件加入sourceset。 plugins{ id "java" apply(true) id "net.ltgt.apt" version "0.21

原创 什麼是HTTP HOST

分享好的鏈接,讓有價值的東西發光! 這篇博客很好的解釋了HOST的作用。 但是在讀的過程中還是要進行驗證,從技術的源頭看看它的本意是什麼。 可以看看協議本身的解釋,順便考驗一下你的英文能力。 The “Host” header f

原创 一圖掌握ButterKnife的使用

下圖爲ButterKnife的使用方法,總結自官方網站。

原创 學習Java FX 你需要掌握那些方面?

在上一節我決定要學習並系統整理JavaFX 相關的知識。 學習JavaFX 正確的思路是什麼呢? 我們先來進行一個抽象,什麼是JavaFX? 實際上就是一組UI佈局空間集合而已,那如何學習呢? 根據我多年Android app開發

原创 問渠那得清如許,唯有源頭活水來

Java基礎的源頭就在這裏。 是技術,就要經過刻苦的練習才能透徹的掌握,此外無捷徑。 拋卻一切浮躁,追溯源頭,自然清靜。 點贊 收藏 分享 文章舉報 瀟灑小燕青 發佈了

原创 Java併發包-CyclicBarrier

Cyclic用於線程之間的同步,形象化一點就是說,大家都到達了再一齊繼續運行, 相對於CountDownLatch來說,它可以被重用,因爲在await到達之後,count會被自動重新初始化。 CyclicBarrier中有兩個方法

原创 Java中的同步集合

List list = Collections.synchronizedList(new ArrayList(...)); synchronized(list){ Iterator itr = list.iterator();

原创 英語--手的單詞

finger thumb index finger middle finger little finger ring finger palm back of hand wrist fist knuckle

原创 Queue和Deque的區別?

Queue是隊列,Deque是雙端隊列。 public interface Deque<E> extends Queue<E> { 方法上的區別如下: Queue Deque add addFirst offe