摘要:
方式一:XML 有点繁琐,不太想用 mapper接口 public interface RoomMapper extends BaseMapper<Room> { List<RoomVO> getRoomPageList(Page page, @Param("roomPageReq")RoomPag 阅读全文
|
摘要:
方式一:XML 有点繁琐,不太想用 mapper接口 public interface RoomMapper extends BaseMapper<Room> { List<RoomVO> getRoomPageList(Page page, @Param("roomPageReq")RoomPag 阅读全文
摘要:
废话不多说,先上锁的分类图 1、乐观锁&悲观锁 悲观锁 悲观锁认为自己在使用数据的时候一定有别的线程来修改数据,因此在获取数据的时候会先加锁,把别的线程阻塞住,最终确保数据不会被别的线程修改。 所以悲观锁保证了数据的原子性。 Java中,synchronized关键字和Lock的实现类都是悲观锁。( 阅读全文
摘要:
一、什么是死锁? 死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无限等待。 二、产生死锁的原因与四个条件 2.1 死锁原因 竞争资源 多个线程竞争同一个不可剥夺的系统资源,或者多个线程竞争同一个临时资源(包括缓存、信号、消息、对象 阅读全文
摘要:
一、组成部分 spring的事件监听有三个部分组成,事件(ApplicationEvent)、监听器(ApplicationListener)和事件发布操作。 二、具体实现 事件 事件对象就是一个简单的po实体类 1、需要实现接口ApplicationEvent, 2、构造方法需要设置super 3 阅读全文
摘要:
我在使用easycel导出到zip包中时,出现了这个问题。各种文件输出时产生的问题其实大同小异 查看了一些网上的文章,还有github上关于此bug的issue,总算是理清并解决了。 解决方法一 主要原因是输出流过早关闭,导致执行 excelWriter.finish() 时会出错。 excelWr 阅读全文
摘要:
原因一:缺少事务注解,底层mybatisplus的接口方法有事务 原因二:该服务器被限制访问要连接的数据库 原因三:乐观锁失效 乐观锁由@version注解标注,有以下使用要求 支持的数据类型只有:int、Integer、long、LonDate、Timestamp、LocalDateTime 整数 阅读全文
摘要:
定时任务线程池是由 Timer 进化而来 jdk中的计划任务 Timer 工具类提供了以计时器或计划任务的功能来实现按指定时间或时间间隔执行任务,但由于 Timer 工具类并不是以池 pool ,而是以队列的方式来管理线程的,所以在高并发的情况下运行效率较低,在新版 JDK 中提供了 Schedle 阅读全文
摘要:
Java获取文件的MD5,核心都是通过JAVA自带的MessageDigest类来实现。 获取文件MD5值主要分为三个步骤: 第一步获取文件的byte信息, 第二步通过MessageDigest类进行MD5加密, 第三步转换成16进制的MD5码值。 方案一 /** * 获取上传文件的md5 * @p 阅读全文
摘要:
1、准备工作—hash算法 import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * @Describe: 实现一致性哈希算法中使用的哈希函数, 使用MD5算法来保证一致性哈希的平 阅读全文
摘要:
核心源码 package java.util; import java.util.function.Consumer; import java.util.function.Predicate; import java.util.function.UnaryOperator; public class 阅读全文
|