自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 冒泡排序及其优化

什么是冒泡排序?冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从从Z到A)错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。这个是百度百科上比较官方的说法。用我们的白话来说就是,从头开始,依次比较两个相邻的元素,如果前一个元素...

2019-12-23 13:05:18 133

原创 阻塞队列——LinkedBlockingQueue

回顾上一篇中,我们讲述了基于数组实现的ArrayBlockingQueue,这一篇我们将学习另一种基于链表实现的LinkedBlockingQueue。首先看看LinkedBlockingQueue一些重要属性public class LinkedBlockingQueue<E> extends AbstractQueue<E> implement...

2019-12-05 16:53:25 125

原创 阻塞队列——ArrayBlockingQueue

ArrayBlockingQueue简介ArrayBlockingQueue是一个基于数组实现的有界阻塞队列。通过一个lock锁,来控制插入和删除元素操作,从而达到线程安全。public class ArrayBlockingQueue<E> extends AbstractQueue<E> implements BlockingQueue<...

2019-11-28 14:53:30 152

原创 Java并发编程——(二)

1.三个同步原语:synchronized、volatile、final2.并发编程的两个需要解决的问题: *1.线程之间的通信。书中给的定义:线程之间以何种机制来交换信息 。 个人理解:说白了,就是一个共享变量,被多个线程 操作,相互之间能够知道。这也就是内存可见性。 *2.线程之间如何同步。控制线程间操作共享变量的顺序。2.并发编程的两个...

2019-11-21 20:33:59 110

原创 Java并发编程——(一)

此文章为自己看书的后一些笔记,不具备学习价值,只能作为参考。如有异议,欢迎讨论,一起学习进步。1.导致多线程并发数据不安全的原因: *1.线程操作一个共享变量,是在本地内存中。本地内存是每个线程私有的,多个线程之间不可见 *2.代码实际执行时,会经过编译器和处理器的指令重排序。由于编译器和处理器只会遵守单线程的数据依赖,对多线程或多个处理之间,是不遵守...

2019-11-21 20:33:37 76

原创 AQS详解

欢迎大家关注公众号——秃头让我们变强AQS简介编程不识Doug Lea,写尽Java也枉然。JUC包的作者,大名鼎鼎的Doug Lea,在JUC包中为我们留下了一个AbstranctQueuedSynchronizer类。希望它能满足一切并发编程开发者的同步需求。JUC包中的锁也基本都是基于AQS来实现的。AQS提供了一个volatile类型变量作为获取资源成功的标志,内部维护着一个FIF...

2019-11-21 20:29:26 247

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除