自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (2)
  • 收藏
  • 关注

原创 java锁:读写锁

独占锁/共享锁独占锁:同一时间内只允许一个线程持有该锁,保证数据一致性,Synchronized/ReentrantLock都是独占锁共享锁:同一时间内允许多个线程持有该锁,多个线程可以操作读写锁: ReentrantReadWriteLock读写锁:写操作是独占锁,读操作是共享锁,写独占保证数据一致性,读共享保证并发性就好比一个成绩单需要签名,但是又可以供多个人一起读,此时同一时...

2019-12-31 14:56:49 365 2

原创 Java锁:自旋锁

自旋锁实现原理(while循环+CAS(compareAndSet))一个锁已经被一个线程锁持有,其他尝试获取该锁的线程并不会立即阻塞,而是采用循环的方式不停地尝试去获取锁,直至获取成功,跳出循环现实生活中的例子:公用洗衣机,一个人想去洗衣服,但是此时洗衣机正在被占用着,那么这个人有两种选择,要么一直在洗衣机前等待,等到该洗衣机洗完,另一种每隔一段时间再回来看看,洗衣机是否已经洗完代码...

2019-12-30 13:26:50 104

原创 Java锁:可重入锁(递归锁)

可重入锁也叫递归锁:递归传递同一把锁理解:同一个线程在进入外层同步方法获得锁之后,同样可以进入该外层同步方法中所拥有的内层同步方法,它们此时所拥有的是同一把锁这种设计可以避免死锁(如果不是可重入锁,在进入外层同步方法之后,无法进入该外层同步方法所拥有的内层同步方法,这种情况下就会出现死锁)synchronized/ReentrantLock都是可重入锁代码示例和解释:import j...

2019-12-30 10:04:42 384

原创 设计模式:单例模式(静态内部类)

单例模式(静态内部类)JVM装载部类不会实例化外部类对象,装载内部类时候才会实例化外部类对象三步:1.构造器私有化2.创建私有静态内部类,在静态内部类中创建私有静态对象实例3.对外提供共有方法(以供外部调用),返回对象实例代码示例和解释/** * 单例模式:静态内部类实现(推荐使用) * 1.构造器私有化 * 2.创建私有静态内部类,在静态内部类中创建私有静态对象实...

2019-12-29 20:37:30 330

原创 设计模式:单例模式(懒汉式)

单例模式(饿汉式)两步:1.构造器私有化2.对外提供一个公有方法,用于获得对象实例,(使用到该类,才去实例化对象)方式一:单线程情况下没问题,多线程情况下会出现线程安全问题/** * 单例模式:懒汉式 * 1.构造器私有化 * 2.对外提供一个公有方法,用于获得对象实例,(使用到该类,才去实例化对象) */public class Singleton { public st...

2019-12-27 16:47:02 340

原创 设计模式:单例模式(饿汉式:静态常量、静态代码块)

单例模式简单说:一个对象只有一个对象实例饿汉式(静态常量):饿汉式(饥饿,一上来就想吃,一装载就实例化)三步:1.构造器私有化(外部不能通过new来新建一个对象实例)2.类内部创建一个对象实例3.提供一个共有的静态方法(供外部调用):返回实例对象代码示例和注解: * 单例模式: * 饿汉式(静态常量) * 1.构造器私有化(外部不能通过new来新建一个对象实例) * ...

2019-12-27 11:19:35 566

原创 设计模式七大设计原则:

设计模式的七大设计原则:单一职责、接口隔离、依赖倒转、里式替换、开闭原则、迪米特法则(最少知道原则)、合成复用原则设计原则的核心思想:为松耦合而设计单一职责: 一个类只具有一个职责,而不具有多个职责,,比如一个用户服务类中应该只有与用户有关的功能实现,而不是包含比如其他模块的职责(类的细分)接口隔离: 每一个接口应该承担一种相对独立的角色,不干不该干的事,该干的事都要干。(接口的细分)*...

2019-12-27 10:54:50 135

原创 Java锁:公平锁/非公平锁

Lock锁之公平锁/非公平锁Java中的公平锁和非公平锁是什么?二者区别?公平锁:多线程高并发情况下,线程获得锁的顺序是先到先得,依次获得非公平锁:线程获得锁的顺序是先抢先得,先运行的线程不一定先获得锁,允许加塞,所以结果是不公平的二者区别:公平锁先到先得,非公平锁先抢先得,非公平锁比公平锁的吞吐量会大一些。ReentrantLock和snychronized是什么锁?Reentran...

2019-12-25 14:16:13 172

原创 集合不安全问题:Set

ArraySet类比ArrayList也是线程不安全的,需要注意的一点set,在使用CopyOnWriedArraySet<>()时,CopyOnWriedArraySet底层调用的是CopyOnWriedArrayList<>()

2019-12-24 10:17:00 172

原创 集合不安全问题:ArrayList

我们都知道ArrayList是线程不安全的,请给出一个ArrayList不安全的例子,并且给出解决方案ArrayList底层是什么?数组什么类型的数组? Object类型的数组,初始长度为10线程不安全的例子:多线程操作ArrayList集合往里面写数据再读数据,会报java.util.ConcurrentModificationExcepion(并发修改异常)public st...

2019-12-24 10:07:44 287

flowable-6.3.0(下).zip

flowable 6.3.0 ZIP包,包含了文档、lib包,5个War包(因为上传资源大小限制,分两部分上传)

2019-10-31

flowable-6.3.0(上).zip

flowable 6.3.0 ZIP包(上),包含了文档、lib包,5个War包(因为上传资源大小限制,分两部分上传)

2019-10-31

空空如也

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

TA关注的人

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