自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (8)
  • 收藏
  • 关注

原创 RocketMQ订阅关系不一致浅析

本文先介绍背景,分析官方文档中的一些场景,包括正确和错误的订阅关系,然后对出现订阅关系不一致进行原来解析,最后对MQ消息出现问题的场景做出应对解决方案。

2022-11-30 16:03:23 2407 1

原创 Spring参数校验和全局异常处理

目录一、前言二、Validation1、JSR-3032、Spring Validation3、@Validated和@Valid的区别三、全局异常处理1、为何要处理异常2、@RestControllerAdvice3、返回自定义消息四、全局异常原理解析1、ControllerAdvice的加载2、Controller接口异常如何进入exceptionHandler方法五、总结参考一、前言数据校验在业务代码中经常用到,比如前...

2022-05-08 16:34:39 1087

原创 RocketMQ消息存储之刷盘机制(原理篇)

一、前言RocketMQ的刷盘机制是一种确保消息可靠性的机制,简单来说就是Broker收到消息后,将消息存储到磁盘上。这样可以解决几个问题:存储空间问题。内存空间有限,存入磁盘可以维护更多消息。 消息可靠性问题。消息存入磁盘后,即使断电了,重启后便可恢复消息。二、刷盘机制原理RocketMQ的刷盘机制原理可以参考下图。下图为官方文档的原理图,主要说明两种刷盘机制:左图是同步刷盘机制,右图是异步刷盘机制。1、同步刷盘上面左图代表...

2022-05-02 12:00:07 4060 1

原创 RocketMQ消息存储之物理存储与逻辑存储

RocketMQ消息存储主要发生在Broker端,作为一种高可用消息中间件,RocketMQ具有独特的消息存储方式:RocketMQ消息存储分为物理存储和逻辑存储,物理存储发生在CommitLog文件中;逻辑存储发生在ConsumeQueue和Index文件中。

2021-12-18 16:18:05 974

原创 mac的crontab没有执行的原因

crontab是一种定时任务调度工具,其用途就是根据表达式在特定的时间执行特定的任务。具体的时间可以用cron表达式表述,任务可以是sh脚本,也可以是基本的命令。

2021-11-29 12:59:40 2716 2

原创 Java日志规范

一、日志级别org.apache.log4j.Level的日志级别总共有8种,从All到Off,日志输出优先级依次变高。通过日志级别,可以控制到应用程序中相应级别的日志信息的开关。比如应用中定义日志级别是Info,那么在Info级别以下的日志就不会输出,即Debug、Trace等级别的日志不会被输出。日志级别的含义:OFF:最高级别,关闭日志,不打印日志。 FATAL:致命日志,指明非常严重的可能会导致应用终止执行错误事件。 ERROR:错误日志,这种级别...

2021-10-24 18:04:17 4096

原创 logback-spring.xml配置详解

日志配置文件,官方文档建议使用-spring 命令格式的配置,日志框架不直接加载,由SpringBoot解析日志配置,如:logback-spring.xml。如果直接定义为logback.xml 将直接被日志框架识别。下面详细解释下logback-spring.xml中属性的具体作用:<configuration> <contextListener class="com.ofpay.logback.TtlMdcListener"/> &lt...

2021-10-23 12:30:32 11102

原创 Collections.sort引发的线上问题及原理研究

目录一、问题重现二、Arrays.sort源码分析三、TimSort1、TimSort简介2、TimSort原理1)、二分插入排序2)、minRunLength3)、do-while循环3、TimSort异常案例分析四、总结五、参考一、问题重现@Datapublic class BusinessApplyDto implements Comparable<BusinessApplyDto>, Serializable { pr

2021-10-07 17:04:46 704 1

原创 mapstruct常见用法梳理

目录一、前言二、mapstruct使用前的准备1、maven方式2、Gradle方式3、 Apache Ant方式三、mapstruct使用方式梳理1、最简单的映射2、不同属性名映射3、不同类型映射 1)、日期格式转化 2)、数字格式转化4、List映射5、Map和Set映射6、枚举映射四、总结参考一、前言 在互联网企业中,随着业务越来越繁琐,导致系统架构越来越复杂,很多企业都...

2021-09-25 20:53:39 1970

原创 mapstruct原理解析

目录一、mapstruct简介二、mapstruct与其他映射框架对比三、mapstruct底层原理解析1、Java动态编译2、mapstruct源码分析四、小结一、mapstruct简介mapstruct是一种实体类映射框架,能够通过Java注解将一个实体类的属性安全地赋值给另一个实体类。有了mapstruct,只需要定义一个映射器接口,声明需要映射的方法,在编译过程中,mapstruct会自动生成该接口的实现类,实现将源对象映射到目标对象的效果。 ...

2021-09-12 22:19:52 20032 3

lucene3.6.1源码

lucene是强大全文检索引擎工具,该源码有助于开发人员深入的了解lucene实现机制。

2013-01-15

JUnit单元测试工具

单元测试很好的工具类,对于进行白盒测试很有效,很强大。

2013-01-15

庖丁分词器

将源码做部分修改,打成jar包,适合于lucene3.6版本。注意paoding-dic-home.properties的配置

2013-01-15

JavaServlet帮助文档

此文档是关于JavaServlet 的API帮助文档,可以借此文档方便开发JavaServlet程序

2012-05-05

mysql-connector-java-5.1.12.zip

mysql数据库连接jar包,java编写的代码要访问数据库是必须要有此包。

2011-09-28

hibernate3.jar

hibernate3的核心jar包,使用hibernate3开发时所必备的包

2011-09-28

apache-ant-1.8.2-bin.zip

使用Hibernate自动生成Middlegen工具时要用到。

2011-09-28

空空如也

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

TA关注的人

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