本项目记录了个人在工作中,所写过的一些自认为不错的Java代码
如果对代码中哪些部分有疑问,或者认为哪些功能实现有更优雅的实现方式,欢迎提出issues交流讨论
核心模块,存放各个项目都要使用的工具类、常量。
一些通过main方法直接运行示例的简单代码
- bitOperation 位运算(与、或、非、异或、左移、右移)的使用示例
- emojiFilter 基于utf8编码下,通过byte信息获取字符的byte长度,并以此来过滤长度大于3的特殊emoji字符
- eventHandle 多策略消费一个事件时,如何更好的记录每个策略的执行结果、以及一段时间内总的消费结果
- function java.util.function 包下类的使用心得
- gitlab 基于 https://github.com/gitlab4j/gitlab4j-api 开源项目实现的 删除分支、新建分支、创建merge request请求、通过merge request请求 操作
- joinAndSplit 如何更优雅在数据库一个字符串字段内,存储多个不同类型数据
- sync synchronize 对象锁、类锁
- timeRecord 如何更优雅的记录一段方法的执行耗时
一些基于web容器实现的功能
- dataSensitive 接口响应值的脱敏
- gracefulShutdown 优雅停机的实现
- invokeInterface 利用反射调用内部接口
- paramConverter 请求数据的类型转换
- paramSpelGetter 基于spel表达式对请求数据的获取
- requestHandle 基于filter、ResponseBodyAdvice,对请求数据、响应数据进行处理
数据库相关
- double-write:使用mybatis拦截器所实现的多数据库双写实现
- multi-datasource:如何配置不同mapper包下的sql连接不同的数据源,从而读写不同的数据库
- mybatis-plus-v3x:普通mybatis项目如何使用mybatis-plus框架,并自动生成dao层类,以及常用的crud操作
- tk-mybatis-v4x:普通mybatis项目如何使用tk-mybatis框架,并自动生成dao层类,以及常用的crud操作
logback日志框架相关
- log-config 动态调整配置,从而过滤服务中打印的特定日志
一些奇怪的bug
- bug-scheduled-aop
@Scheduled
使用中发现的一个循环依赖情况下aop的bug,定位到了bug产生的原因,但还没有解决修复
最后,如果本项目中对你的编程提供了一些帮助,欢迎留下一颗小小的star,Thanks~ 😊