原文:JDK(四)JDK1.8源码分析【排序】DualPivotQuicksort

本文转载自于晓飞 ,原文链接DualPivotQuickSort 双轴快速排序 源码 笔记 DualPivotQuicksort是Arrays类中提供的给基本类型的数据排序的算法。它针对每种基本数据类型都有对应的实现,实现方式有细微差异,但思路都是相同的,所以这里只挑选int类型的排序。 整个实现中的思路是:首先检查数组的长度,比一个阈值小的时候直接使用双轴快排。其它情况下,先检查数组中数据的顺 ...

2018-07-20 19:15 0 1742 推荐指数:

查看详情

JDK(二)JDK1.8源码分析排序】timsort

如无特殊说明,文中的代码均是JDK 1.8版本。 在JDK集合框架中描述过,JDK存储一组Object的集合框架是Collection。而针对Collection框架的一组操作集合体是Collections,里面包含了多种针对Collection的操作,例如:排序、查找、交换、反转、复制 ...

Sat Jul 21 00:37:00 CST 2018 2 3985
【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