02-Redisson实现分布式锁 关键词基于NIO的Netty框架,生产环境使用分布式锁 redisson加锁:lua脚本加锁(其他客户端自旋) 自动延时机制:启动watch dog,后台线程,每隔10秒检查一下客户端1还持有锁key,会不断的延长锁key的生存时间 可重入锁机制:第二个if判断 ,myLock :{“8743c9c0-0795-4907-87fd-6c719a6b4586:1”:2 } 释放锁:无锁直接返回;有 2021-11-18 15_分布式 > 03_分布式锁 #Redis #架构 #分布式锁 #Redisson
04-Stream实现原理分析 1.Stream 为什么会出现?Stream 出现之前,遍历一个集合最传统的做法大概是用 Iterator,或者 for 循环。这种两种方式都属于外部迭代,然而外部迭代存在着一些问题。 开发者需要自己手写迭代的逻辑,虽然大部分场景迭代逻辑都是每个元素遍历一次。如果存在像排序这样的有状态的中间操作,不得不进行多次迭代。多次迭代会增加临时变量,从而导致内存的浪费。 虽然 Java 5 引入的 fo 2021-10-23 18_源码分析 #微服务 #Stream
07-线程池并行查询 12345678910111213141516171819202122232425262728293031323334353637383940/*** 多线程并行查询*/private IbStatistics parallelQuery(IbStatistics statistics, ... ...) throws InterruptedException { //创建线程池执 2021-10-17 02_编程语言 > 01_Java > 01_JavaSE > 05_并发和锁 #JavaSE #线程池
16-MySQL解析json字符串 参考资料: https://dev.mysql.com/doc/refman/8.0/en/json.html MySQL 5.7版本以后支持json格式的字段类型定义、存储和使用,最近做BI开发,开发把所需数据用JSON的形式存储在字段中,本次记录下MySQL解析JSON。 一般来说,主要是提取json字段的值,所以update就不写了,提取select json使用的参数是: JSON_E 2021-09-16 05_数据库 > 01_MySQL #MySQL #JSON
02-注解定制Double精度位数 注解定制Double精度位数12345678910111213141516171819202122232425262728293031323334import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.JsonSerializer;import com.fasterxml.jack 2021-08-22 02_编程语言 > 01_Java > 01_JavaSE > 08_反射机制 #注解 #JavaSE #Double
04-RabbitMQ 高级教程 1. MQ 的相关概念1.1 什么是 MQMQ(message queue),从字面意思上看,本质是个队列,FIFO 先入先出,只不过队列中存放的内容是message 而已,还是一种跨进程的通信机制,用于上下游传递消息。在互联网架构中,MQ 是一种非常常 见的上下游“逻辑解耦+物理解耦”的消息通信服务。使用了 MQ 之后,消息发送上游只需要依赖 MQ,不 用依赖其他服务。 1.2 为什么要用 M 2021-08-17 08_框架技术 > 07_RabbitMQ #RabbitMQ
Java高性能海报绘制设计 参考资料: Graphics2D绘图,基于Java绘图封装的工具 生成海报图片https://www.cnblogs.com/Lbox/p/14368349.htmlhttps://blog.csdn.net/qq_26212181/article/details/97621758 1. 海报设计规范 海报宽,高,上边距,左边距等单位为px,且必须为整数 海报宽,高 最好设计为偶数,方便pain 2021-07-02 08_框架技术 > 13_Poster #海报绘制
03-MyBatis-Plus 链式编程+批量操作 1. 链式编程官网示例: 12345678910111213// 区分:// 链式调用 普通UpdateChainWrapper<T> update();// 链式调用 lambda 式。注意:不支持 Kotlin LambdaUpdateChainWrapper<T> lambdaUpdate();// 等价示例:query().eq("id", v 2021-06-18 05_数据库 > 02_MyBatis #sql #MyBatis
02-MyBatis-Plus 高级使用和插件 MyBatis-plus 是一款 Mybatis 增强工具,用于简化开发,提高效率。下文使用缩写 mp来简化表示 MyBatis-plus,本文主要介绍 mp 搭配 Spring Boot 的使用。注:本文使用的 mp 版本是当前最新的3.4.2,早期版本的差异请自行查阅文档 官方网站:www.baomidou.com 1. 快速入门 创建一个Spring Boot项目。 导入依赖12345678 2021-06-13 05_数据库 > 03_MyBatis-Plus #语法 #MyBatis #MyBatisPlus