- 博客(4)
- 问答 (1)
- 收藏
- 关注
原创 synchronized和lock有什么区别?
首先synchronized是java内置关键字,在jvm层面,Lock是个java类 synchronized无法判断是否获取锁的状态,Lock可以判断是否获取到锁 synchronized会自动释放锁(a线程执行完同步代码会释放锁;b线程执行过程中发生异常会释放锁),Lock需在finally中手动释放锁(unlock()方法释放锁),否则容易线程死锁 用synchronized关键字的两个线程1和线程2,如果当前线程1获得锁,线...
2021-09-05 20:16:06
127
原创 synchronized和vo;atitle的区别是什么?
volatile本质实在告诉jvm当前变量在寄存器中的值是不确定的,需要从主存中读取;synchronized则是锁定当前变量,只有当前线程可以访问该变量,其他线程被阻塞住。 volatile仅能使用在变量级别;synchronized则可以使用在变量、方法、和类级别。 volatile仅能实现变量的修改可见性,不能保证原子性;而synchronized则可以保证变量的修改可见性和原子性。 不可见性产生的原因: 每个线程都有自己的工作内存,线程都是...
2021-09-05 20:00:52
238
原创 sync的底层实现原理
synchronized的底层实现原理 上锁 就是改变对象的对象头 类的组成:字节码文件 对象的状态有五种? 1.无状态 2.偏向锁 3.轻量锁 4.重量锁 5.gc标记 对象的组成: 1.java对象的实例数据--不固定 2.对象头--固定 对象头的组成:(64位操作系统中对象头所占空间大小为96bit) ...
2021-09-04 23:19:46
918
原创 大佬帮帮忙
" 3 6 2 8 一个数字正确,且位置正确\r\n" + "7 0 1 9 两个数字正确,其中一个位置正确,另个位置不正确\r\n" + "1 4 2 9 一个数字正确,且位置不正确\r\n" + "4 5 7 6 一个数字正确,且位置正确\r\n" + "程序实现输出这四个数。 怎么用Java代码实现 ...
2021-06-29 16:06:17
162
1
空空如也
mybatis动态sql传参问题,求解决!
2021-11-18
TA创建的收藏夹 TA关注的收藏夹
TA关注的人