Java 是一種物件導向程式設計語言,但不是純物件導向的語言,因為支援基本類型,如 int 、 char 等,程式碼會編譯成 byte code ,運行在負責抽象底層操作系統的 JVM(Java 虛擬機)上,語法類似於 C/C++,但是不提供像 pointers 指針這樣的低階編程功能,擁有跨平台、物件導向、泛型程式設計的特性,廣泛應用於各種系統, Learn Java 介紹各種實務是應用,如移動應用程式( Android 基於 Java )、桌面應用程式、Web 應用程式、客戶端-服務器應用程式、企業應用程式等。
ArrayBlockingQueue in Java with Examples 提供了使用陣列的阻塞佇列實現,被認為是執行緒安全的集合,因此,通常用於多執行緒的應用程式,假設,一個執行緒正在向佇列中插入元素,而另一個執行緒正在從佇列中移除元素,如果第一個執行緒比第二個執行緒慢,那麼阻塞佇列可以讓第二個執行緒等待,直到第一個執行緒完成操作, Java ArrayBlockingQueue Examples 介紹常見的 forEach 、 iterator 、 spliterator 、 trySplit 、 drainTo 等方法,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Java ArrayBlockingQueue Methods 是由陣列支援的有界阻塞佇列,所謂有界,就是說 Queue 的大小是固定的,一旦建立固定容量的佇列,就便無法再更改,當嘗試將元素放入已滿佇列,將會導致操作阻塞,同樣地,從空佇列中獲取元素的操作也會被阻塞, ArrayBlockingQueue Java Methods 介紹常見的 add 、 peek 、 remove 、 clear 、 size 等方法,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Difference Between notify and notifyAll in Java 對於在此物件的監視器上,也就是取得一個 lock 鎖後,調用 wait 方法,進入等待的所有執行緒,有兩種方法可以通知等待執行緒,一個是 notify 隨機喚醒一個正在等待該對象鎖的執行緒,另一個是 notifyAll 喚醒所有正在等待該對象鎖的執行緒, notify and notifyall Methods in Java ,提供這兩種方法的應用方式,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
wait and notify Methods in Java 了解 Java 中最基本的機制之一執行緒同步,目前的執行緒必須擁有物件的監視器,也就是一個 lock 鎖,可以使用 synchronized 鎖定方法、區塊、或 static 靜態方法來取得鎖, Java wait notify Methods ,提供生產與消費模式 Produce and Consume ,說明執行緒間的同步機制,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Difference Between wait and notify in Java 在多執行緒的環境中,多個執行緒可能會嘗試修改同一資源,不正確地管理執行緒會導致一致性的問題,使用 synchronized 來保護協調程式碼運行,調用 wait 方法時,調用執行緒停止執行,直到 notify 或 notifyAll 方法被其他某個執行緒調用, Difference Between notify and wait in Java ,提供這兩種方法的應用, 本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Difference Between Runnable and Callable in Java 兩種接口都是多執行緒實現多任務可以同時執行的方式,但在實作上卻有一些不一樣的地方, Runnable 是一個接口,只定義了一個名為 run 的方法,並無傳回值,Callable 也是一個接口,定義了一個 泛型 V 傳回值的 call 方法,這兩者都是表示 Java 中由 Thread 執行的任務, Difference Between Callable and Runnable in Java 提供這兩種接口應用方式,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Java Thread join Method 讓目前正在執行的執行緒暫停,直到調用 join 的執行緒結束執行才會繼續執行任務,使用 join 方法,可以將不同執行緒結果整合在一起,與 wait 和 notify 方法一樣, Join Method in Java 是另一種執行緒間的同步機制,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Runnable vs Callable in Java 多執行緒程式開發,是為了實現多工的同步執行,從而能夠更好地提高執行速度,多執行緒一直是 Java 的一個主要功能,Runnable 是為表示多執行緒任務提供的核心介面, Java 1.5 提供了 Callable 作為 Runnable 的改進版本, Callable vs Runnable in Java 提供這兩種介面的區別和應用,本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Java Callable Interface 同一時間執行一個以上的執行緒,提升整體處理效能,提供建立新執行緒,執行指定任務,實作 Callable Interface ,覆寫 call 方法,任務完成時使用 Future 儲存不同執行緒的結果,FutureTask 實作了 Runnable 和 Future 介面,追踪其他執行緒的進度結果, Callable and Future in Java 本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。
Callable in Java with Examples 定義了一個 泛型 V 傳回值的 call 方法,會拋出檢查例外,因此可輕易地將例外往外傳遞,當任務完成時使用 Future 儲存不同執行緒的結果, Callable Java 基本上是主執行緒可以追踪其他執行緒的進度結果的一種方式,FutureTask 實作了 Runnable 和 Future 介面,方便地結合了這兩種功能, Callable in Java 本篇增加了範例,並透過 JUnit 4 單元測試來驗證產出結果。