自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 关于Java垃圾回收

关于Java垃圾回收 Java与C/C++不同,Java是采用自动回收垃圾,而C/C++采用的是手动回收垃圾。两种方式都有优点和缺点。 Java自动回收时,可控性很差,甚至有时会造成栈溢出的现象; C/C++手动回收垃圾,可控性高,但是工作量较大。 下面我们就来说一下Java垃圾回收。...

2019-08-23 11:26:50

阅读数 33

评论数 0

原创 脏读,幻读与不可重复读

脏读,是指事物A对数据修改以后没有提交,之前事物B对数据进行查询,查询到事物A修改的那一条数据,那条数据即为脏数据,B读取即为脏读。 不可重复读,是指事物A在查询一条数据后没有提交,事物B对数据进行了update或者delete操作,然后事物A再一次查询的时候发现数据发生了变化。 幻读...

2019-08-14 10:49:18

阅读数 14

评论数 0

原创 独享锁与共享锁

独享锁: 是指该锁只能同时被一个线程持有。 共享锁: 是只该所可以同时被多个线程持有。 对于ReentrantLock而言,ReentrantLock是一个独享锁,即公平锁与非公平锁时独享锁。而对ReadWriteLock而言,它的读是一个共享锁,而写是一个独享锁。读锁作为一个共享...

2019-08-13 17:50:09

阅读数 26

评论数 0

原创 可重入锁与不可重入锁

当一个线程获得当前实例的锁lock,并且进入了方法A,该线程在方法A没有释放该锁的时候,是否可以再次进入使用该锁的方法B? 不可重入锁:在方法A释放锁之前,不可以再次进入方法B 可重入锁:在方法A释放该锁之前可以再次进入方法B 不可重入锁: 当线程在访问A方法的时候,获取的A方法的锁,在A...

2019-08-13 15:53:00

阅读数 54

评论数 0

原创 公平锁与非公平锁

ReentrantLock实现了Lock接口,在加锁和解锁时都要显示的写出,当构造ReentrantLock传入的参数为false的时候为非公平锁,当构造ReentrantLock传入参数为true的时候为公平锁。 //创建一个非公平锁,默认是非公平锁 Lock nonFairLock= ...

2019-08-13 15:30:36

阅读数 9

评论数 0

原创 悲观锁与乐观锁

悲观锁:在获取锁以后只允许获取锁的那一个对象或事务来操作数据(除了查询不需要获取锁),只有当当前对象或事务操作完以后释放锁以后,其他对象或事务才能对数据进行操作。 优点:悲观锁利用锁机制来保证程序的顺序执行。 缺点:当一个事务获取锁时,其他事务除了查询不能对当前数据进行操作。当获取锁的...

2019-08-13 14:56:52

阅读数 11

评论数 0

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