spring的三级缓存-牛翰网

spring的三级缓存

spring的三级缓存: Spring 容器的“三级缓存” Spring 容器的整个生命周期中,单例Bean对象是唯一的。即可以使用缓存来加速访问 Spring 源码中使用了大量的 Cache 手段,其中在循环依赖问题的...
spring 事务失效的 12 种场景-牛翰网

spring 事务失效的 12 种场景

看这个:https://blog.csdn.net/hanjiaqian/article/details/120501741里面有12种失效场景以及如何解决。 在 spring 中为了支持编程式事务,专门提供了一个类:TransactionTemplate,在它的 exe...
volatile关键字-牛翰网

volatile关键字

在Java中,使用volatile关键字修饰一个变量可以带来以下效果: 可见性:volatile保证了变量的可见性,即当一个线程修改了volatile变量的值时,新值对于其他线程来说是立即可见的。这意味着,如...
HashMap 在高并发场景下可能出现的性能问题以及如何规避这些问题-牛翰网

HashMap 在高并发场景下可能出现的性能问题以及如何规避这些问题

JDK1.8 之前 HashMap 底层是 数组和链表, 之后在之前基础上加上红黑树。 相比于之前的版本, JDK1.8 之后在解决哈希冲突时有了较大的变化,当链表长度大于阈值(默认为 8)(将链表转换成红黑...
wait、notify、notifyAll的理解与使用-牛翰网

wait、notify、notifyAll的理解与使用

基础知识 Java 中,可以通过配合调用 Object 对象的 wait() 方法和 notify() 方法或 notifyAll() 方法来实现线程间的通信。 在线程中调用 wait() 方法,将阻塞当前线程,直至等到其他线程调用了...
前端学习中。。。。。。-牛翰网

前端学习中。。。。。。

首先我个人认为不要立即去看语法,先去了解vue组件化开发思想,了解完这个后,脑子才有一个大体的前端开发是怎么样的(其实就是组件搭配,比如:搜索框是一个组件,按钮是一个组件,标题也可以...
为什么不建议通过Executors构建线程池-牛翰网

为什么不建议通过Executors构建线程池

Executors类看起来功能还是比较强大的,又用到了工厂模式、又有比较强的扩展性,重要的是用起来还比较方便,如: ExecutorService executor = Executors.newFixedThreadPool(nThreads) ; 即可创...
RabbitMQ 延迟任务(限时订单) 思路-牛翰网

RabbitMQ 延迟任务(限时订单) 思路

一、场景 我们经常会碰见,一个需求就是,发送一条指令(消息),延迟一段时间执行,比如说常见的淘宝当下了一个订单后,订单支付时间为半个小时,如果半个小时没有支付,则关闭该订单。当然实...
substring( )的两种用法?-牛翰网

substring( )的两种用法?

xx.substring()括号中带的参数不一样,效果就会有很大的区别 1.xx.substring(0,2)表示取第一个和第二个字符(0,1,2表示第一、二、三个字符,含头不含尾的原则就只包含第一、二个字符),返回一...
深入掌握Map的这8个操作方法,让代码更简洁优雅-牛翰网

深入掌握Map的这8个操作方法,让代码更简洁优雅

Map 是我们经常使用的数据结构接口,它的子类 HashMap、ConcurrentHashMap 也是我们使用比较频繁的集合。 了解了 Map 接口中的方法,也就相当于知道了其子类中的可用方法,管它是不是并发类。 ...