摘要:并發(fā)和并行并發(fā)和并行是兩個(gè)非常容易被混淆的概念。并發(fā)說的是在一個(gè)時(shí)間段內(nèi),多件事情在這個(gè)時(shí)間段內(nèi)交替執(zhí)行。并行說的是多件事情在同一個(gè)時(shí)刻同事發(fā)生。由于線程池是一個(gè)線程,得不到執(zhí)行,而被餓死,最終導(dǎo)致了程序死鎖的現(xiàn)象。 同步(Synchronous)和異步(Asynchronous) 同步和異步通常來形容一次方法調(diào)用,同步方法調(diào)用一旦開始,調(diào)用者必須等到方法調(diào)用返回后,才能繼續(xù)后續(xù)的行為...
摘要:程序執(zhí)行時(shí),至少會(huì)有一個(gè)線程在運(yùn)行,這個(gè)運(yùn)行的線程被稱為主線程。程序的終止是指除守護(hù)線程以外的線程全部終止。多線程程序由多個(gè)線程組成的程序稱為多線程程序。線程休眠期間可以被中斷,中斷將會(huì)拋出異常。 線程 我們?cè)陂喿x程序時(shí),表面看來是在跟蹤程序的處理流程,實(shí)際上跟蹤的是線程的執(zhí)行。 單線程程序 在單線程程序中,在某個(gè)時(shí)間點(diǎn)執(zhí)行的處理只有一個(gè)。 Java 程序執(zhí)行時(shí),至少會(huì)有一個(gè)線程在運(yùn)行...
摘要:?jiǎn)尉€程的迭代過程中刪除集合元素以上代碼會(huì)出現(xiàn)如下異常從后往前看第行代碼我們?cè)趫?zhí)行代碼行時(shí)調(diào)用了這個(gè)是調(diào)用返回的對(duì)象這個(gè)對(duì)象的方法如下圖方法首先它會(huì)調(diào)用這個(gè)方法這個(gè)方法很簡(jiǎn)單就是比較這兩個(gè)值是不是相等不相等就拋出異常如下圖這兩個(gè)值為什么會(huì)不相 單線程的Iterator迭代過程中刪除集合元素 public class TestIterator { public static voi...
摘要:如果對(duì)于經(jīng)常改變內(nèi)容的字符串,使用效率高,但是它只適用于單線程的場(chǎng)景,在多線程場(chǎng)景下,容易導(dǎo)致數(shù)據(jù)不一致的現(xiàn)象出現(xiàn)。多線程場(chǎng)景下,要使用。在大部分情況下,線程安全的可變字符序列。可將字符串緩沖區(qū)安全地用于多個(gè)線程。 本人博客 http://www.cnblogs.com/runfor... 總結(jié): 1.String是字符串常量,StringBuffer是線程安全的字符串變量,Stri...
摘要:概述堆排序是一種樹形選擇排序,是對(duì)直接選擇排序的有效改進(jìn)。稱這個(gè)過程為堆排序。步驟實(shí)例實(shí)現(xiàn)堆排序需解決兩個(gè)問題如何將個(gè)待排序的數(shù)建成堆輸出堆頂元素后,怎樣調(diào)整剩余個(gè)元素,使其成為一個(gè)新堆。 概述 堆排序是一種樹形選擇排序,是對(duì)直接選擇排序的有效改進(jìn)。 堆的定義如下:具有n個(gè)元素的序列(k1,k2,...,kn), 當(dāng)且僅當(dāng)滿足: showImg(https://segmentfault...
暫無介紹