自定义博客皮肤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)
  • 收藏
  • 关注

原创 Java-关于多线程可见性的一些问题

1.请列出Happens-before的几种规则 1.单线程happen-before原则:在同一个线程中,书写在前面的操作happen-before后面的操作。 2.锁的happen-before原则:同一个锁的unlock操作happen-before此锁的lock操作。 3.volatile的happen-before原则:对一个volatile变量的的写操作happen-before对此...

2019-05-27 21:05:49 259

原创 Java---ReentrantReadWriteLock---源码分析

ReentrantReadWriteLock ReadLock readLock:时序图 readLock:源码分析 tryAcquiredShared(int unused) protected final int tryAcquireShared(int unused) { Thread current = Thread.currentThread(); // c为...

2019-05-27 20:34:40 250

原创 Java_ReentrantLock_重入锁之非公平锁NonfairSync源码分析

1.以非公平锁为例,来看看 lock 中的实现 1. 非公平锁和公平锁最大的区别在于,在非公平锁中我抢占锁的逻辑是,不管有没有线程排队,我先上来 cas 去抢占一下 2. CAS 成功,就表示成功获得了锁 3. CAS 失败,调用 acquire(1)走锁竞争逻辑 1.1让我们先来了解一下CAS的原理 首先我们需要明白一点:锁拥有一个共享的数据来记录其基本状态(无锁/有锁 状态)-...

2019-05-24 22:00:21 309

原创 Java——AQS队列变化时序图分析

AQS队列 添加一个节点 头节点释放

2019-05-23 21:40:48 619

原创 Java-进阶之问题记录

1.Java什么时候用重载,什么时候用重写? 重载是多样性,重写是增强剂。 Java中的重载overload最重要且最常用的应用场景是构造器的重载,构造器重载后,提供多种参数形式的构造器,可以应对不同的业务需求,加强程序的健壮性和可扩展性。比如Spring源码中的ClassPathXmlApplicationContext,他的构造函数使用重载一共提供了10个构造函数,这样...

2019-05-14 21:22:02 151

原创 MyBatis 体系结构与工作原理-update流程时序图

目录 update流程时序图 创建会话工厂类 创建会话 获取代理对象 调用代理对象方法,执行SQL update流程时序图 创建会话工厂类 创建会话 获取代理对象 调用代理对象方法,执行SQL MyBatis里面用到了那些设计模式? 建造者模式 SqlSessionBuilder 工厂模式和单例模式 ...

2019-05-04 00:18:06 420

空空如也

空空如也

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

TA关注的人

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