自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chengkun_123的博客

Keep learning and connet dots.

  • 博客(5)
  • 收藏
  • 关注

原创 BlockingQueue浅析

概述concurrent包中,BlockingQueue不光实现了一个完整队列所具有的基本功能,同时在多线程环境下,他还自动管理了多线间的自动等待于唤醒功能,从而使得程序员可以忽略这些细节,关注更高级的功能。 生产者线程向队列插入元素,消费者线程则取出它们,使用队列,可以优雅地从一个线程向另一个线程传递数据。BlockingQueue常用方法 方法 正常动作 特殊情况下动作 put

2017-03-18 19:47:27 509

原创 剑指offer学习笔记(Java实现)(31-40)

题目31:连续子数组的最大和在数组中找一个连续子数组,使它的和最大。我的方法:利用一个local维护局部子数组最大和,一个global维护全局子数组最大和。因为子数组要连续,local[i]只能出现两种情况:加上当前a[i],即local[i] = local[i-1]+a[i];重新开始,即local[i] = a[i]。我们取较大的作为局部最大和。global[i]的取值也有两种情况:原来的最大

2017-03-18 19:26:22 395

原创 剑指offer学习笔记(Java实现)(26-30)

题目26:复杂链表的复制。定义一个新的数据结构,每个节点除了具有普通链表的next域外,还有一个额外的引用指向任意节点。我们要对由该特殊数据结构形成的链表进行复制。我的方法:也就是克隆一个这种特殊链表,很快想到先不考虑原链表sibling域,复制出一个新的链表,然后再去给sibling域赋值。由于sibling可以指向任何节点,而且我们是根据原链表的sibling来确定新链表中的sibling,所以

2017-03-18 19:16:17 582

原创 剑指offer学习笔记(Java实现)(21-25)

题目21;定义一个具有min函数(返回栈内最小值)的栈数据结构。首先这个栈要具有普通栈所具有的push()和pop()方法,那么内部一定包含一个Stack。至于还要能实现min函数,而且还是在O(1)时间复杂度内,我们不得不考虑用额外的空间。如果直接使用一个int变量存储当前的最小值,我们的确可以获得最小值,但是当栈pop()了以后,我们无法获得次小值。我们需要一个数据结构来动态保存每个时刻的最小值

2017-03-18 19:11:07 299

原创 ThreadLocal浅析

概述这里是基于java JDK1.8源码分析的。首先从整体上描述一下ThreadLocal: ThreadLocal中的ThreadLocalMap静态内部类使用的是线性探测表(散列表)作为数据结构。 每一个Thread对象都持有一个ThreadLocalMap,该Map以ThreadLocal对象的引用作为Key来查询/保存/删除Value。 一个线程中可以使用多个ThreadLocal对象来保存

2017-03-10 10:32:40 455

空空如也

空空如也

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

TA关注的人

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