摘要:
一、 多线程并发情况下数据异常回滚解决方案 在需要多个没有前后顺序的数据操作情况下,一般我们可以选择使用并发的形式去操作,以提高处理的速度,但并发情况下,我们使用 @Transactional 还能解决事务回滚问题吗。 例如有下面表结构: CREATE TABLE `test` ( `id` int 阅读全文
摘要:
一、Redisson 分布式锁源码解析 Redisson是架设在Redis基础上的一个Java驻内存数据网格。在基于NIO的Netty框架上,充分的利用了Redis键值数据库提供的一系列优势,在Java实用工具包中常用接口的基础上,为使用者提供了一系列具有分布式特性的常用工具类。使得原本作为协调单机 阅读全文
摘要:
一、PageHelper PageHelper 是一个用于在 MyBatis 中进行分页查询的开源分页插件。它能够方便地帮助开发者处理分页查询的逻辑,简化代码,并提高开发效率。PageHelper 支持多种数据库,包括 MySQL、Oracle、PostgreSQL 等。 PageHelper 的实 阅读全文
摘要:
Fork/Join介绍 Fork/Join框架是Java 7提供的用于并行执行任务的框架。具体是把大任务切分为小任务,再把小任务的结果汇总为大任务的结果。核心思想是工作窃取算法,工作窃取算法是指线程从其他任务队列中窃取任务执行。 如何使用Fork/Join 分割任务:首先需要创建一个ForkJoin 阅读全文
摘要:
redis集群 Redis 集群是一个提供在多个Redis间节点间共享数据的程序集。Redis 集群没有使用一致性hash, 而是引入了哈希槽的概念。 要让集群正常运作至少需要三个主节点,不过在刚开始试用集群功能时, 强烈建议使用六个节点: 其中三个为主节点, 而其余三个则是各个主节点的从节点。 首 阅读全文
摘要:
在使用 Redis 或其他依赖内存操作的应用程序时,你可能会遇到以下警告: WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memor 阅读全文
摘要:
最近在做项目迁移,Oracle版本的迁到Mysql版本,遇到有些oracle的函数,mysql并没有,所以就只好想自定义函数或者找到替换函数的方法进行改造。 oracle做数据排序的时候,有时候可以用nulls first或者nulls last将null值排在最前或者最后。 oracle方法: n 阅读全文
摘要:
jxls是一个轻量级的Java库,用于基于模板的Excel报表生成。 jxls作为一个开源工具,提供了一种高效且易于维护的方式来处理复杂的Excel导出需求。它允许用户通过在Excel模板中放置特定的标记或注释来定义数据的输出格式和布局,从而避免了编写大量重复且易出错的代码。 标注:简单的excel 阅读全文
摘要:
近日,项目中有一个耗时较长的Job存在CPU占用过高的问题,经排查发现,主要时间消耗在往MyBatis中批量插入数据。mapper configuration是用foreach循环做的,差不多是这样。(由于项目保密,以下代码均为自己手写的demo代码) <insert id="batchInsert 阅读全文