自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 资源 (2)
  • 收藏
  • 关注

原创 Hutool JSONUtil.toBean 转换字段丢失问题

在做单元测试使用JSONUtil.toBean反序列化时,发现某些字段丢失。发现是存在两个hutool包5.7.6和5.8.20。将老的5.7.6的包排除引入新的。

2023-11-09 09:34:29 420

原创 重温缓存的正确使用姿势

Cache Aside: - 读取数据时,先从缓存读取,如果缓存中不存在,则从数据库中读取,并将数据存入缓存。可能出现缓存穿透的问题。- Read/Write Through: - 读取数据时,先从缓存读取,如果缓存中不存在,则从数据库中读取,并将数据存入缓存。- 写入数据时,先检查缓存,如果不存在,则直接更新数据库,并将数据存入缓存。- 缓存穿透:指请求的数据在缓存和数据库中都不存在,导致每次请求都需要访问数据库。多级缓存: 多级缓存是指在系统中使用多个层次的缓存,以提高缓存的命中率和性能。

2023-10-16 21:33:24 120

原创 mybatis bean属性识别丢失【NoSuchPropertyException】

发现线上报错日志。

2023-09-13 14:32:55 277

原创 vault配置指南

vault配置指南

2023-01-04 11:20:29 864

原创 Spring bean常用注解注入方式

注解方式注入bean

2022-12-01 09:25:31 148

原创 idea 拉取 GitLab 分支和实际提交记录不一致

解决冲突时,突然发现从idea origin/test 拉取到的分支合并时,有大量类变更。然后查看提交记录发现也对不上号了。

2022-10-20 10:42:27 603

原创 FeignClient接收参数字段缺失

feign、SpringMvc中Jackson导致的http接口字段丢失问题

2022-10-13 15:37:48 1357

原创 业务主键多维度多值情况下如何保证数据唯一性?(示例纯属虚构,如有雷同纯属巧合)

多要素,数据唯一性

2022-03-20 17:22:14 1466 3

原创 spring 事务配置

<!-- 声明式事务管理 --><!--定义事物管理器,由spring管理事务 --><bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <property name="dataSource" ref="jedDataSource"></property></bean&gt.

2021-11-26 12:38:39 332

原创 集成mapstruct需要几步?

集成mapstruct,让你从字段映射中完成解放

2021-11-24 10:11:38 93

原创 JDBC超时、时区参数ConnectTimeout

下面是不同驱动的socket timeout配置方式。connectTimeout和socketTimeout的默认值为0时,timeout不生效。 除了调用DBCP的API以外,还可以通过properties属性进行配置。JDBC Driver connectTimeout配置项 socketTimeout配置项 url格式 示例 MySQL Driver connectTimeout(默认值:0,单位:ms) socketTimeout(默认值:0,单位:

2021-10-14 14:37:00 5380

原创 关于分库保证数据一致性相关思考

1、分布式事务tcc、柔性事务2、最终一致性可以做的事情:、工具化实现常用方案总结(强一致、弱一致、最终一致)常用场景总结数据库分库(目前主要场景)不同中间件(mq、数据库)不同的应用()目前实现原理强一致:2pc:投票、决定问题:单点故障,事务管理器出现故障,整个系统不可用数据不一致:在阶段2事务管理器只成功发送了部分commit信息。响应时间较长:当事务管

2021-09-26 09:35:13 742

原创 mysql中Timestamp,time,datetime 区别

参考内容:Mysql的timestamp(时间戳)详解以及2038问题的解决方案_ratel的博客-CSDN博客_timestamp 范围 使用场景 备注 Timestamp ’1970-01-01 00:00:00’到2037年 时间戳、自动时区转化,实际存储毫秒数,4字节存储 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至

2021-09-26 09:32:24 205

原创 性能篇系列—stream详解

合理使用Stream在循环迭代次数较少的情况下,常规的迭代方式性能反而更好 在单核CPU服务器配置环境中,也是常规迭代方式更有优势 在大数据循环迭代中,如果服务器是多核CPU的情况,采用Stream的并行迭代优势明显Stream APIJava 8集合中的Stream相当于高级版的IteratorStream API通过Lambda表达式对集合进行各种非常便利高效的聚合操作,或者大批量数据操作Stream的聚合操作与数据库SQL的聚合操作sorted、filter、map等非常类似 在数

2021-09-26 09:31:20 937

原创 Idea 右侧常用栏中没有Maven选项

idea版本 2021.3原因:新拉取了一个项目,但是项目却没有maven选项。此时需要手动将此项目设置为maven项目1、使用Shift +Ctrl +A(windows)2、然后选择项目的rootpom文件即可3、后面idea会自动加载maven...

2021-08-06 09:43:09 656

原创 window hosts不生效的可能

一、配置windows下域名解析文件位置:c:\windows\system32\drivers\etc\hostswindows下修改的文件为:到命令行(cmd) ping一下,看是否解析注意:中间的空格建议从上边拷贝下来,使用tab出现ping不通的问题。生效的这行不能有#不然会无效,就写在最后也不行。二、修改hosts文件不起作用的问题1、关闭浏览器2、命令行(cmd)运行:ipconfig /flushdns #清除DNS缓存内容3、ping一下地址,看...

2021-08-03 20:37:08 2803 1

原创 idea-自动去除包引用

快捷键:ctrl+alt+s

2021-06-30 09:34:06 229

原创 ibatis 查询字段丢失

起因:一个查询语句,明明数据库有值但是用ibatis查询出来的值却是null。根据查询源码得到是在此处获取字段值时为空com.ibatis.sqlmap.engine.mapping.result.ResultMappublic Object[] getResults(StatementScope statementScope, ResultSet rs) throws SQLException { ErrorContext errorContext = stateme

2021-05-20 12:19:41 317

原创 异常:Unknown lifecycle phase “mvn“. You must specify a valid lifecycle

原来命令:mvn org.jacoco:jacoco-maven-plugin:0.8.5:report调成去掉 mvn 即可

2021-05-12 12:03:38 197

原创 jacorg.apache.tomcat.util.bcel.classfile.ClassFormatException: Invalid byte tag in constant pool: 19

这个问题是tomcat版本过低报的错误,由于开发的tomcat版本高于部署的tomcat版本,所以你部署的时候会遇见这个错误。解决办法:方法一:将当前的tomcat7升级至高版本tomcat8。方法二:将当前的tomcat7的tomcat\conf\catalina.properties文件,节点增加log4j-api-2.10.0.jar,然后重新启动tomcat,问题解决。(其实目的就是设置tomcat扫描时忽略这个jar包)tomcat.util.scan.DefaultJarSca

2021-05-11 19:45:44 1016

原创 mapstruct常用问题点

https://mapstruct.org/faq/#why-does-named-not-work在使用@Mapping#qualifiedByName时要特别注意,方法的参数和返回值要和源,目标属性完全一致。不然会抛出找不到方法异常

2021-04-30 10:06:57 483

原创 mapstruct进阶使用

https://www.cnblogs.com/junzhu-bye/p/12900950.html

2021-04-29 22:35:41 166

原创 beanUtil替换性能提升百倍-mapstruct

官方文档:https://mapstruct.org/documentation/installation/本机环境:Intel(R) Core(TM) i7-10510U CPU @ 1.80GHz对比数据:100000数据BeanUtils.copyProperties = 2556 msbeanSet = 13msmapstruct = 21ms

2021-04-22 12:00:11 229

原创 mapstruct与lombok一起使用问题

https://mapstruct.org/documentation/installation/在集成时,可以直接将包依赖到dependencies下,不要放到plugin下。<dependency> <groupId>org.mapstruct</groupId> <artifactId>mapstruct</artifactId> <version>${org.mapstruct.version}

2021-04-20 18:35:55 372

原创 IDEA 插件集合

SequenceDiagramhttps://www.cnblogs.com/-beyond/p/11408082.html使用方式  1、选中方法名(注意不要选类名),然后点击鼠标右键(显示可选项),选择Sequence Diagram    2、根据弹出框,根据自己的情况,设置调用深度,点击OK就可以生成时序图了    3、查看生成的时序图  ...

2021-03-17 14:03:01 48

原创 Json timestamp转LocalDateTime报错JSON parse error: raw timestamp (1595952000000) not allowed for

解决办法加一个LocalDataTime序列化的配置类,在接受时再转一次.@Configurationpublic class LocalDateTimeSerializerConfig { @Bean public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() { return builder -> { builder.ser

2021-03-16 20:52:47 4404 3

原创 多线程之Disruptor实践测试

背景大文件生成,分别采用了三种模式,进行测试。单线程多线程+阻塞队列Disruptor测试结果上源码public class BigFileWrite { public static final AtomicInteger COUNT = new AtomicInteger(10000000); public static LinkedBlockingQueue<String> concurrentLinkedQueue = new Link

2021-03-10 14:22:09 365

原创 Spring 动态数据源原理剖析

数据源是在什么时候注入的ibatis中 Dao实现类都需要继承SqlMapClientDaoSupport,如下图中,SqlMapClientDaoSupport 中注入的DataSourceDataSource正在上传…重新上传取消spring留下的拓展点 //key和数据库连接的映射关系 privateMap<Object, Object> targetDataSources; // 标识默认的连接 privateObje...

2021-02-24 09:41:53 672

转载 如何确保使用jdk8编译后的class能够在jdk7上运行?

1、可能大家首先想到的就是在pom里加上如下配置就可以了<plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.1</version> <configuration> <source>1.7</source> <target>1.7</target>

2021-02-09 20:52:26 1160 2

原创 Mysql 批量操作表数据示例

本示例主要用于分库分表情况下的,同类型业务表数据批量处理。可以引申成脚本工具CREATE PROCEDURE `p_del_area_limit`()begin -- 创建 用于接收游标值的变量 declare total int; -- 注意 接收游标值为中文时 需要 给变量 指定 字符集为utf8 declare v_table_name,v_table_schema varchar(2000) character set utf8; declare S.

2021-02-04 19:15:16 131

原创 canal单实例测试(docker+本地canal)

安装doker:https://www.runoob.com/docker/windows-docker-install.html问题解决:1、Failed to set version to docker-desktop: exit code: -1 :https://blog.csdn.net/mysticboy/article/details/106632922doker安装常用工具:apt-get update;apt install iputils-ping;apt i...

2021-01-28 08:59:31 282

原创 Exception in thread “main“ java.lang.IllegalArgumentException at org.springframework.asm.Cla

Spring 版本与JDK 版本导致的兼容问题本地jdk 版本1.8 Spring core包版本 3.2.0.RELEASE发生报错:Exception in thread "main" java.lang.IllegalArgumentException at org.springframework.asm.ClassReader.<init>(Unknown Source) at org.springframework.asm.ClassRea

2021-01-06 22:00:01 348

原创 工厂模式

总的来说,工厂模式是使解决对象的创建和使用分离。由简单到复杂分为:简单工厂:优点:包含必要的判断逻辑、实现了对象的创建和使用的分离缺点:职责过重、添加新的构造逻辑时,需要修改,不符合开闭原则工厂方法:定义一个创建对象的接口,让子类决定实例化哪个类,工厂模式使一个类的实例化延迟到其子类优点:包含必要的判断逻辑、实现了对象的创建和使用的分离缺点:职责过重、添加新的构造逻辑时,需要修改,不符合开闭原则抽象工厂:提供一个创建一系列或相关依赖对象的接口,而无需指定他们具体的类优

2020-12-22 15:53:15 48

原创 HQL注入防御

缘由:由于客户方漏扫工具,扫描判断我们系统中动态HQL语句有注入风险。(画外音:其实这些参数都是内部使用的,根本没有外部侵入可能)解决:防御sql注入最好的办法就是预编译对于参数的很好解决:HQL参数名称绑定Query query=session.createQuery(“from User user where user.name=:customername and user:customerage=:age ”);query.setString(“customername”,.

2020-12-18 18:24:41 587 1

原创 spring boot jpa 使用Oracle10gDialect使分页效率提升100倍

文档:Hibernate中的数据库方言(Dialect)http://note.youdao.com/noteshare?id=7d11a7bf13d8eae2decda70896ab529b&sub=76163EBA64A74F039A7F20A230E42A14当使用Oracle10gDialect时分页为SELECT *FROM (SELECT row_.*, rownum rownum_FROM ( select * fr...

2020-12-16 20:52:56 352

原创 协议错误,会话连接断开

在使用windows 远程连接其他机器时,遇到此问题,主要是由于第三方,屏保控件引起的,此时只要关掉此类屏保,就能解决此问题啦。

2020-12-16 17:49:34 605

原创 spring 事务讲解及案例分析

一、首先我们得知道什么是事务?简单的讲、事务就是一系列操作组成的工作单元,工作单元内的操作都是不可分割的。(要么都执行,要么都不执行)例子:银行转账  A账户转出100,B账户转入100  特性 ACID: 原子性,一致性,隔离性,持久性数据库隔离级别?隔离级别是指若干个并发的事务之间的隔离程度。读未提交 (脏读) insert 之后没有提交允许读取未提交数据读已提交 (不可重复读) s...

2018-07-06 13:55:44 369

转载 延迟消息队列

基于redis实现的https://www.jianshu.com/p/e958e8590020rabbitmq 实现延迟队列的两种方式       https://blog.csdn.net/u014308482/article/details/53036770            

2018-04-26 09:46:55 528

转载 MyBatis插件开发原理

参考来源 :https://www.jianshu.com/p/b82d0a95b2f3主要使用动态代理,通过嵌套增加附加功能,所以过多的拦截器会导致性能变慢,如果没有强制要求,尽量不要新增功能。...

2018-04-26 09:30:27 128

原创 mosquitto-mqtt 安装-配置指南

1.安装外部依赖 1.1 yum 安装依赖 yum install openssl-devel yum install c-ares-devel yum install libuuid-devel yum install gcc* 2.安装mosquitto实例: 2.1 下载tar.gz文件 wget https:...

2018-04-04 14:51:27 537

srvany,instsrv

window服务新增

2017-08-16

关于分布式事务的整理

分布式、事务、常用解决方案、案例分析

2017-08-16

空空如也

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

TA关注的人

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