原文:JDK(二)JDK1.8源碼分析【排序】timsort

如無特殊說明,文中的代碼均是JDK . 版本。 在JDK集合框架中描述過,JDK存儲一組Object的集合框架是Collection。而針對Collection框架的一組操作集合體是Collections,里面包含了多種針對Collection的操作,例如:排序 查找 交換 反轉 復制等。 這一節講述Collections的排序操作。 Collections.sort方法調用的是List.sort ...

2018-07-20 16:37 2 3985 推薦指數:

查看詳情

JDK(四)JDK1.8源碼分析排序】DualPivotQuicksort

本文轉載自於曉飛93,原文鏈接 DualPivotQuickSort 雙軸快速排序 源碼 筆記 DualPivotQuicksort是Arrays類中提供的給基本類型的數據排序的算法。它針對每種基本數據類型都有對應的實現,實現方式有細微差異,但思路都是相同的,所以這里只挑選int ...

Sat Jul 21 03:15:00 CST 2018 0 1742
【JUC】JDK1.8源碼分析之CountDownLatch(五)

一、前言   分析完了CyclicBarrier后,下面分析CountDownLatch,CountDownLatch用於同步一個或多個任務,強制他們等待由其他任務執行的一組操作完成。CountDownLatch典型的用法是將一個程序分為n個互相獨立的可解決任務,並創建值為n ...

Thu Apr 21 04:35:00 CST 2016 2 4507
【JUC】JDK1.8源碼分析之Semaphore(六)

一、前言   分析了CountDownLatch源碼后,下面接着分析Semaphore的源碼。Semaphore稱為計數信號量,它允許n個任務同時訪問某個資源,可以將信號量看做是在向外分發使用資源的許可證,只有成功獲取許可證,才能使用資源。下面開始分析Semaphore的源碼 ...

Thu Apr 21 22:30:00 CST 2016 1 2469
【JUC】JDK1.8源碼分析之ReentrantLock(三)

一、前言   在分析了AbstractQueuedSynchronier源碼后,接着分析ReentrantLock源碼,其實在AbstractQueuedSynchronizer的分析中,已經提到過ReentrantLock,ReentrantLock表示下面具體分析ReentrantLock ...

Thu Apr 14 06:07:00 CST 2016 7 5320
【JUC】JDK1.8源碼分析之AbstractQueuedSynchronizer(二)

一、前言   在鎖框架中,AbstractQueuedSynchronizer抽象類可以毫不誇張的說,占據着核心地位,它提供了一個基於FIFO隊列,可以用於構建鎖或者其他相關同步裝置的基礎框架。所以很有必要好好分析。 二、AbstractQueuedSynchronizer數據結構   分析 ...

Fri Apr 08 18:16:00 CST 2016 13 12304
【JUC】JDK1.8源碼分析之ConcurrentLinkedQueue(五)

一、前言   接着前面的分析,接下來分析ConcurrentLinkedQueue,ConcurerntLinkedQueue一個基於鏈接節點的無界線程安全隊列。此隊列按照 FIFO(先進先出)原則對元素進行排序。隊列的頭部是隊列中時間最長的元素。隊列的尾部 是隊列中時間最短的元素。新的元素插入 ...

Wed Jun 01 00:10:00 CST 2016 2 1328
【JUC】JDK1.8源碼分析之SynchronousQueue(九)

一、前言   本篇是在分析Executors源碼時,發現JUC集合框架中的一個重要類沒有分析,SynchronousQueue,該類在線程池中的作用是非常明顯的,所以很有必要單獨拿出來分析一番,這對於之后理解線程池有很有好處,SynchronousQueue是一種阻塞隊列,其中每個插入操作 ...

Mon Jun 06 23:29:00 CST 2016 4 2776
【JUC】JDK1.8源碼分析之ConcurrentSkipListMap(二)

一、前言   最近在做項目的同時也在修復之前項目的一些Bug,所以忙得沒有時間看源代碼,今天都完成得差不多了,所以又開始源碼分析之路,也着筆記錄下ConcurrentSkipListMap的源碼分析過程。 二、ConcurrentSkipListMap數據結構   抓住了數據結構,對於理解 ...

Fri May 27 05:13:00 CST 2016 7 2311
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM