自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ConcurrentLinkedQueue原码解析

ConcurrentLinkedQueue是一个基于单链表的无界线程安全队列,该队列是FIFO的。ConcurrentLinkedQueue/ConcurrentLinkedDeue和LinkedBlockingQueue/LinkedBlockingDeue相比,不同点在于它们不提供阻塞功能,并且是Lock-Free的,而后者则是利用ReentrantLock实现的。

2015-04-14 18:02:39 1307

原创 ConcurrentSkipListMap原码解析

SkipList介绍1. SkipList(跳表),在理论上能够在O(log(n))时间内完成查找、插入、删除操作。SkipList是一种红黑树的替代方案,由于SkipList与红黑树相比无论从理论和实现都简单许多,所以得到了很好的推广。SkipList是基于一种统计学原理实现的,有可能出现最坏情况,即查找和更新操作都是O(n)时间复杂度,但从统计学角度分析这种概率极小。使用SkipL

2015-04-13 17:12:52 1452

原创 ReentrantReadWriteLock原理分析

ReentrantReadWriteLock顾名思义是可重入的读写锁,允许多个读线程获得ReadLock,但只允许一个写线程获得WriteLock。原理介绍1. ReentrantReadWriteLock类图:2. ReentrantRead

2015-04-09 16:13:09 4067

原创 JUC AbstractQueuedSynchronizer原理解析

在J2SE 1.5的java.util.concurrent包(下称j.u.c包)中,大部分的同步器(例如锁,屏障等等)都是基于AbstractQueuedSynchronizer类(下称AQS类),这个简单的框架而构建的。这个框架为同步状态的原子性管理、线程的阻塞和解除阻塞以及排队提供了一种通用的机制。

2015-04-03 17:59:04 1140

转载 自旋锁、排队自旋锁、MCS锁、CLH锁

原文地址:自旋锁、排队自旋锁、MCS锁、CLH锁注:文中的代码忽略了lock和unlock不成对出现的异常情况。另外文中代码可以通过引入ThreadLocal类来去掉lock/unlock方法的参数。自旋锁(Spin lock)自旋锁是指当一个线程尝试获取某个锁时,如果该锁已被其他线程占用,就一直循环检测锁是否被释放,而不是进入线程挂起或睡眠状态。自

2015-04-01 16:46:29 987

原创 Spring依赖注入DI

1. Spring是什么?—Spring是一个开源框架,是于2003年兴起的一个轻量级Java开发框架。它是为了解决企业应用开发的复杂性而创建的。—说它是轻量级的是因为从jar包大小与开销两方面而言Spring都是轻量的。Spring框架目的:解决企业应用开发的复杂性Spring框架应用范围:任何Java应用为什么选择使用Spring?现实往往是这样的:前辈

2015-04-01 14:17:48 1175

转载 HashMap源码分析

转自:HashMap源码分析  需要提到的是,HashMap内部的容量设计为2的幂,是为了方便扩容和取余运算,都只需要采用二进制位运算即可1.扩容:newCapacity 2.取余:当Length=2^n时,hash%Length=hash&(Length-1)学过数论的应该知道,取余运算相对耗时,而把除数设计为2的幂可以简化为按位与运算从而提高程序计算速度。

2015-04-01 11:30:03 838

物理方法模拟的烟雾流体(3D)

Jos Stam, Real-Time Fluid Dynamics for Games流体例程修改成了3D的,基于半拉格朗日法

2009-12-19

OpenGL程序用的库文件.dll .h .lib文件

有具体的help说明,并有vs2005/vs2008/vs2010添加.lib文件的方法以及vc2005出错解决方法error LNK2019: unresolved external symbol __imp____glutInitWithExit@12 referenced in function _glutInit_ATEXIT_HACK@8

2009-12-15

RSATool.zip_723

RSATool.zip_723 RSA工具

2009-12-15

FFT ACM 1402 A B Problem Plus

FFT 大整数快速乘法 傅里叶快速乘法 c++代码

2009-12-15

C++ 程序图形界面计算器(波兰表达式)

这是一个C++(windows forms)编写的表达式计算器,具有图形化界面,采用正常的波兰表达式输入

2009-10-25

MFC五角星绘制例程

本例程内容是用MFC绘制五角星,程序使用visual2008编译,如果用其他编译器的话可以查看textView.cpp下代码即可

2009-10-25

空空如也

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

TA关注的人

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