- 博客(4)
- 收藏
- 关注
原创 synchronized和lock的区别
synchronized和lock的区别 区别: 1.lock是一个接口,而synchronized是一个Java关键字 2.synchronized在发生异常时会自动释放占有锁,因此不会死锁; 而lock发生异常时,不会主动释放占有的锁,必须手动来释放锁,可能引起死锁的发生。 3.synchronized使用Object对象本身的wait、notify、notifyAll调度机制,而lock可以使用Condition进行线程之间的调度 4.lock等待锁的过程中可以用interrupt来中断等待,而syn
2021-01-19 14:34:48
224
1
原创 Map集合和Java实体类相互转换
Map集合和Java实体类相互转换 记录自己每天学习的知识,每天记录一点 1.自定义Map集合转Java实体类 使用Java反射的一些知识来转换,关于反射的知识,后续更新 public static Object mapToObject(Map<String,Object> map,Class<?> clazz){ if(map == null || map.isEmpty()){ return null; }
2021-01-13 15:33:51
3539
原创 JUC并发编程--深入了解CAS
1.什么是CAS? CAS:Conmpare And Swap =比较和交换 在计算机科学中,比较和交换(Conmpare And Swap)是用于实现多线程同步的原子 指令。它将内存位置的内容与给定值进行比较,只有在相同的情况下,将该内存位置 的内容修改为新的给定值。 java中,在JDK5之前java语言是靠synchronized关键字保证同步,导致存在以下几个问题: 在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题。 一个线程持有锁会导致其他所有需要此锁的线程
2021-01-12 17:18:01
291
原创 try catch finally中带return的执行顺序
try catch finally中带return的执行顺序 A.当try catch finally 代码块中都有return时 当程序运行时没有出现异常或者错误,执行顺序,我们先看代码: public class TryTest { //启动类 public static void main(String[] args) { System.out.println(get()); } public static String get(){
2021-01-12 16:29:37
267
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人