2021年3月15日

Java 之 volatile 关键字

摘要: 作用 volatile 能够保证可见性、有序性,不保证复合操作的原子性。在单线程中,为了提高程序执行效率,编译器和处理器可能对指令进行重排序。单线程环境下,这种优化是没有问题的,但是多线程环境下,如果两个线程之间存在数据依赖,就可能导致程序出错,volatile 可以用来协调不同线程间的变量共享。 阅读全文

posted @ 2021-03-15 17:56 沈小洋 阅读(101) 评论(0) 推荐(0) 编辑

2020年11月20日

关于synchronized批量重偏向和批量撤销的一个小实验

摘要: 前段时间学习synchronized的时候做过一个关于批量重偏向和批量撤销的小实验,感觉挺有意思的,所以想分享一下。虽然是比较底层的东西,但是结论可以通过做实验看出来,就挺有意思。 我们都知道synchronized分为偏向锁、轻量级锁和重量级锁这三种,这个实验主要是和偏向锁相关的。关于偏向锁,我们 阅读全文

posted @ 2020-11-20 17:41 沈小洋 阅读(307) 评论(0) 推荐(0) 编辑

2020年11月15日

Spring嵌套事务机制

摘要: 之前写过一篇文章,是关于Spring嵌套事务机制的,回过头来看发现有不少问题,但暂时不想删掉它,所以再写一篇文章更正一下之前的错误。这里先再次说明一下PROPAGATION_NESTED的作用,若当前存在事务则以嵌套事务方式执行,若不存在事务则创建一个新事务。 考虑到动态代理的实现方式,同一个类内部 阅读全文

posted @ 2020-11-15 18:55 沈小洋 阅读(1023) 评论(1) 推荐(0) 编辑

关于HashMap的一个有趣的小问题

摘要: 最近面试被问到了一个很有意思的问题,是关于HashMap的。之前没看到过类似的问题,感觉很有趣,所以想记录一下。问题很简单,基于一个很简单的常识,即重写equals方法必须同时重写hashCode方法。问题的内容是,假如只重写了equals方法,或者只重写了hashCode方法,分别会出现什么情况? 阅读全文

posted @ 2020-11-15 00:21 沈小洋 阅读(100) 评论(0) 推荐(0) 编辑

2016年1月20日

可阻塞队列的实现

摘要: [JavaThread学习笔记]可阻塞队列的实现 阅读全文

posted @ 2016-01-20 21:15 沈小洋 阅读(681) 评论(0) 推荐(0) 编辑

JavaThread的其他同步工具类

摘要: [JavaThread学习笔记]线程同步的其他工具类介绍 阅读全文

posted @ 2016-01-20 20:01 沈小洋 阅读(273) 评论(0) 推荐(0) 编辑

Semaphore实现信号灯

摘要: [JavaThread学习笔记]Semaphore 阅读全文

posted @ 2016-01-20 16:50 沈小洋 阅读(407) 评论(0) 推荐(0) 编辑

Lock&Condition实现线程同步通信

摘要: [JavaThread学习笔记]Condition的使用 阅读全文

posted @ 2016-01-20 16:24 沈小洋 阅读(302) 评论(0) 推荐(0) 编辑

2016年1月19日

读写锁(ReadWriteLock)的使用

摘要: [JavaThread学习笔记]读写锁的简单用法介绍 阅读全文

posted @ 2016-01-19 15:07 沈小洋 阅读(5349) 评论(0) 推荐(0) 编辑

2016年1月17日

Lock和Synchronized的比较

摘要: [JavaThread学习笔记]Lock和Synchronized的比较,以及Lock的基本使用方法 阅读全文

posted @ 2016-01-17 21:50 沈小洋 阅读(513) 评论(0) 推荐(0) 编辑

导航