自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 java高并发之——synchronized和重入锁(ReentrantLock)

一、重入锁的定义: 为什么会叫重入锁,顾名思义,表示这个锁可以返回被添加,就是一个线程可以多次获得一把锁,只要在最后的时候做相同次数的锁释放即可。 Lock lock = new ReentrantLock(); lock.lock(); lock.lock(); try { //业务代码 } finally { lock.unlock(); lock.unlock(); ...

2019-04-24 23:43:02 593

原创 常见的排序算法

1.冒泡排序 定义:比较相邻的元素。如果第一个比第二个大,就交换他们两个;走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。 例如:对一个数组进行从小到达的排序,代码实现如下: ublic class ChooseSort { public static void main(String[] args) { int[] array ...

2019-04-18 23:23:47 91

原创 java高并发之 —— 解决编发编程中的原子性、可见性和有序性

一、如果保证程序的原子性——锁 在程序开发中,我们如何才能保证一个程序的原子性是非常的重要的,保证程序原子性性,可以有效的避免在多线程过程中,出现的诡异bug。那在java程序中如果保证程序的原子性呢?也就是保证当前方法在同一时刻只能有一个线程对其进行操作,多线程在执行的时候,进行同步操作。 java自带的隐式加锁方法就是使用synchronized关键字。synchronized关键字可以用...

2019-04-12 00:39:53 241

原创 java高并发之 —— 编发编程的Bug源头

我们知道并发编程比串行程序复杂的多,因为在并发程序下数据访问要保持一致性和安全性,这里就要提出一个临界区的概念!什么是临界区呢?临界区就是用来表示一种公共资源或者说是共享数据,可以被多个线程使用。但是每一次,只能有一个线程使用它,一旦临界区资源被占用,其他线程要想使用这个资源,就必须等待,也就是多在同一个时刻,只能有一个线程对其进行操作,并且还要保证线程对其操作后,其他线程在操作时,要保证安全。这...

2019-04-01 23:26:44 253

空空如也

空空如也

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

TA关注的人

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