自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 资源 (1)
  • 收藏
  • 关注

原创 JDK源码之ReentrantLock源码分析

ReentrantLock类似于synchronized是一种独占式锁(悲观锁),是基于AQS实现的轻量级锁,相比于synchronized优点在于: 可自由选择锁的获取方式:公平锁和非公平锁 支持可重入锁,即一个线程可以多次获取锁 支持设置获取锁的持有时间 通过构造方法可以看到提供两种模式,默认为非公平锁 //非公平锁 public ReentrantLock() { ...

2019-04-24 20:17:21 259

原创 同步队列器AQS之condition等待队列的实现分析

我们知道每个Java对象都对应有一个监视器,此监视器用来实现线程的唤醒、通知等操作,对应Lock来说基于jdk也实现了类似的唤醒及通知的接口Condition接口,这里说明一下上一章节中同步队列器AQS的实现原理使用大量篇幅讲解了同步队列器的原理,而Condition是等待队列,下面通过BoundedBuffer(有界缓存)来分析一下使用场景 /** *此类创建了两个conditi...

2019-04-24 16:27:04 847

原创 同步队列器AQS的实现原理

Java中的锁一般分为两种,一种是synchronized关键字,它是基于底层CPU指令实现的锁,另外一种是Lock锁,是基于jdk实现的一种锁,传统的synchronized是一个重量级锁,缺点是有多个线程获取锁时,获取失败的线程会进入阻塞状态,成功获取锁的线程在处理完逻辑后会通知阻塞态的线程,这时候是随机挑选的属于非公平锁,而lock锁,比如ReentrantLock在默认情况下唤...

2019-04-18 20:21:16 755

原创 一张图理解Java锁的原理

2019-04-15 15:57:15 246

原创 一张图理解JVM虚拟机结构

2019-04-02 11:28:01 206

jquery多文件上传

使用Php进行多文件上传,很详细的哦,大家过来参考啊,

2013-03-25

空空如也

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

TA关注的人

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