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

原创 19. JUC死锁编码及定位分析

死锁是指两个或两个以上的线程在执行过程中,因争夺资源而造成的一种互相等待的现象。若无外力干涉,它们都将无法推进下去,如果系统资源充足,进程的资源请求就能够得到满足,死锁出现的可能性就很低,否则就会因争夺有限的资源而陷入死锁。产生死锁的主要原因系统资源不足进程运行推进的顺序不合适资源分配不当手写一个死锁的demopublic class DeadLockDemo{ public static void main(String[] args){ String lockA = "lo.

2021-01-19 22:59:45 119

原创 18. JUC谈谈你对公平锁/非公平锁/可重入锁/递归锁/自旋锁的理解

公平和非公平锁公平锁是指多个线程按照申请锁的顺序来获取锁类似排队,先来后到非公平锁是指,在高并发的情况下,有可能后面的线程比前面的线程先得到锁,多个线程获取锁的顺序并不按照申请锁的顺序,这就可能造成优先级反转或者饥饿现象两者的区别并发包ReentrantLock的创建,可以指定构造函数的boolean类型来得到公平锁或者非公平锁,默认是非公平锁公平锁,就是很公平,在并发环境下,每个线程在获取锁时会查看此锁维护的等待队列,如果为空,或者当前线程是等待队列的第一个,就占有锁,否则就会加入

2021-01-13 21:22:38 140

原创 17. JUC你了解CAS吗

1. CAS是什么CAS的全称为Compare-And-Swap ,它是一条CPU并发原语,它的功能是判断内存某个位置的值是否为预期值,如果是则更改为新的值,否则继续比较直到主内存和工作内存中的值一致为止,整个过程是原子的。CAS并发原语体现在Java语言中就是sun.misc.Unsafe类中的各个方法。调用Unsafe类中的CAS方法,JVM会帮我们实现CAS汇编指令。这是一种完全依赖于硬件的功能,通过它实现了原子操作。再次强调,由于CAS是一种系统原语,原语属于操作系统用语范畴,是由若干

2021-01-06 22:29:59 143

原创 16. JUC-volatile

1、简单谈谈volatile是什么意思volatile是Java虚拟机提供的一种轻量级的同步机制它能够保证可见性、有序性、但是不保证原子性。2、JMMJava内存模型,本身是一种抽象的概念,并不真实存在,它描述的是一组规则或规范定制了程序中各个变量(包括实例字段,静态字段和构成数组对象的元素)的访问方式.可见性详细解释假设有多个线程从主内存中拷贝值到各自线程的工作内存,若有一个线程改了当前拷贝的值,并将修改好的值返回给了主内存,那就会导致其它线程操作的数据与主内存的数据产生偏差,这个时候

2021-01-06 17:18:54 207

空空如也

空空如也

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

TA关注的人

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