自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ThreadLocal理解与应用

首先还是自己的理解:1:ThreadLocal 是干嘛的:翻译过来意思为线程局部变量,成员变量不做任何处理的话线程是不安全的,各个线程都在操作同一个变量,显然是不行的,volatile这个关键字也不能保证线程安全,我们要满足变量是同一个,但每个线程都使用同一个初始值,也就是使用同一个变量的一个新的副本。比如说DAO的数据库连接,我们知道DAO是单例的,那么他的属性Connection就不是一个线程安全的变量。而我们每个线程都需要使用他,并且各自使用各自的。这种情况,ThreadLocal就比较好的解决了

2020-08-12 11:10:12 112

转载 通俗讲解分布式锁

一、常规锁会造成什么情况?二、分布式锁怎么去处理?三、分布式锁的实现有哪些?四、在Zookeeper中如何加锁?首先,分布式锁和我们平常讲到的锁原理基本一样,目的就是确保在多个线程并发时,只有一个线程在同一刻操作这个业务或者说方法、变量。在一个进程中,也就是一个jvm或者说应用中,我们很容易去处理控制,在jdk java.util并发包中已经为我们提供了这些方法去加锁,比如synchronized关键字或者Lock锁,都可以处理。但是我们现在的应用程序如果只部署一台服务器,那并发量是很差的,.

2020-08-10 16:11:31 139

转载 使用Java 8 的 Optional 类进行优雅的判空

你是否曾经被 NullPointerException 异常折磨的苦不堪言?你是否曾为复杂的POJO 类写非空判断,为那多个 if xxx != null 或多层嵌套 if xxx != null 的代码感到烦恼心累?呐,程序猿们,我们是时候用Java 8 的 Optional 类进行优雅的判空啦,当然,如果你用的是 Java 8 的话(:з」∠)。Optional 是什么?java.util.Optional 类是 Java 8 引入的一个新的类,是一个容器,可以保存类型为T的值,也可以保存null

2020-07-31 16:07:06 1291 1

原创 用策略模式实现代码 if/else优化

interface Strategy {void run() throws Exception;}class FastStrategy implements Strategy {@Overridevoid run() throws Exception {// 快速执行逻辑}}class NormalStrategy implements Strategy {@Overridevoid run() throws Exception {// 正常执行逻辑}}class Smooth

2020-07-30 17:32:39 181

转载 Spring声明式事务@Transactional 详解,事务隔离级别isolation和事务传播行为Propagation

@Transactional注解支持9个属性的设置,这里只讲解其中使用较多的三个属性:readOnly、propagation、isolation。其中propagation属性用来枚举事务的传播行为,isolation用来设置事务隔离级别,readOnly进行读写事务控制。一、readOnly读写事务控制readOnly=true表明所注解的方法或类只是读取数据。readOnly=false表明所注解的方法或类是增加,删除,修改数据。二、isolation事务隔离级别我们在使用事务过程中,通常会发

2020-07-30 14:57:20 1157

空空如也

空空如也

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

TA关注的人

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