- 博客(58)
- 收藏
- 关注
原创 【技术积累】SpringBoot+disruptor高性能队列
`队列`是在数据结构中是基础的数据类型,在编程开发经常使用的数据结构,java中的数据结构有很多种,我们常用到的可能使用阻塞队列(`BlockingQueue`),但是BlockingQueue队列性能相对于disruptor性能较低,应用场景较少,本文重点介绍BlockingQueue队列的性能瓶颈点和disruptor框架高性能的实现原理
2024-08-15 07:00:00 988
原创 SpringBoot集成spring-statemachine状态机实现业务流程
在工作中经常会遇到业务流程的实现(事件审批、请假任务审批流程等),常见的实现方式是简单的业务流程使用硬编码,通过简单状态status实现,复杂的业务流程使用流程引擎实现(Flowable、Activiti、Camunda等),但是流程引擎实现比较复杂,对一些不常变更的和简单的业务流程使用流程引擎比较大材小用;在一些比较简单的业务流程中,经常使用硬编码的方式实现,即多个,代码耦合性比较强,并在流程变更时,需要修改的代码比较多,整体逻辑比较混乱,不利于维护;所以需要寻一种硬编码和流程引擎之外的实现方式;
2024-08-05 07:00:00 1165
原创 SpringBoot整合Flink CDC实时同步postgresql变更数据,基于WAL日志
在工作中经常会遇到要实时获取数据库(postgresql、mysql等)的变更数据,主要体现数据的实时性;【技术实现】java实时同步postgresql变更数据,基于WAL日志但是,之前的实现方式比较繁琐,不利于维护,所有本文整合Flink CDC通过一个比较简单的方式实现;Flink CDC(Change Data Capture)是一个基于Apache Flink构建的开源数据变更捕获(CDC)框架。
2024-07-31 00:15:05 910
原创 springboot集成mybatis时,dao层的mapper类需要添加@Repository注解吗?
然而,为了遵循Spring的架构风格和最佳实践,推荐在Mapper接口上添加@Repository注解,尤其是在没有使用MyBatis的自动扫描功能时。在Mapper接口上单独声明,或者通过XML配置来管理Mapper接口,那么在这些情况下,添加@Repository注解也是可选的。在Spring Boot项目中,当你使用MyBatis作为ORM框架时,关于DAO层的Mapper类是否需要添加@Repository注解,这主要取决于你的项目需求和配置。虽然不是必需的,但在DAO层的Mapper接口上添加。
2024-07-28 23:41:23 221
原创 【请求代理】springboot单机服务基于过滤器Filter实现第三方服务器接口请求代理功能
springboot使用过滤器Filter和适配器模式实现三方请求代理,不同请求实现不同的token鉴权,并统一token鉴权,监控请求
2024-07-28 16:10:40 456
原创 springboot+dynamic-datasource实现多数据源动态切换,非@DS注解方式
使用springboot+dynamic-datasource-spring-boot-starter实现动态数据源加载、切换
2023-07-11 08:00:00 1962
原创 【技术应用】springboot内置tomcat配置unix域套接字属性
springboot内置tomcat配置unix域套接字(unix domain socket)属性
2022-12-29 23:37:16 1130 2
原创 【技术应用】java基于UNIX域套接字(unix domain socket)连接redis
java通过socket和lettuce框架通过UNIX域套接字(UNIX Domain Socket)连接redis,也是通过redis的redis.sock文件实现连接
2022-12-25 09:30:00 1935
原创 【问题分析】解决java中epoll依赖缺失问题
解决使用lettuce框架实现UNIX域套接字unix domain socket连接redis时,epoll依赖缺失的问题,主要是文件netty_transport_native_epoll_x86_64缺失,通过源码分析定位和解决问题
2022-12-24 23:06:42 1991
原创 【JVM知识】插入式注解处理器实现java编程规范检测
插入式注解处理器实现java编程规范检测,实现插件有findbug、lombok、mapstruct等
2022-12-17 22:22:56 669
原创 【技术应用】mybatis数据库操作(insert、update、delete)返回值为0的场景
mybatis数据库操作(insert、update、delete)返回值为0的场景,涉及insert ingore、replace into、insert into...on duplicate key update和updae操作、delete操作,sql示例和mybatis执行示例
2022-12-15 21:42:18 7423 1
原创 【技术应用】java实现第三方接口代理
java实现第三方接口代理功能,重新封装request请求,添加请求头,新增第三方鉴权信息(token)
2022-12-13 23:59:27 2469
原创 【redis事务】@Transactional对Redis事务起作用(包含redis+lua)
验证@Transactional注解对Redis事务起作用,验证@Transactional对redis+lua脚本执行是否生效,代码实例验证
2022-12-11 12:34:51 2796 3
原创 【spring技术】接口多实现类的注入问题
在接口多实现类的注入过程中遇到的问题,结果过程分析,涉及@Qualifier、@Resource、@ConditionalOnProperty、@AllArgsConstructor和@RequiredArgsConstructor等注解,@AllArgsConstructor+final实现bean注入,同时通过@AllArgsConstructor注解实现接口多实现类的注入
2022-12-09 23:55:16 2724
原创 【技术应用】springboot+redis+lua实现下订单功能(秒杀)
springboot+redis+lua实现下订单功能,在扣减订单的同时也会把订单信息新增到用户信息里面,也是考虑操作的原子性,提供关键代码示例
2022-12-06 18:30:00 192
原创 【技术应用】springboot+redis+lua实现延迟消息
springboot+redis+lua实现延迟消息,涉及实现方案分析,关键代码示例
2022-12-05 22:00:45 393
原创 【技术应用】springboot+redis+lua实现分布式限流
springboot+redis+lua实现分布式限流,lua信息概述,redis+lua原子性特性,和使用lua的原因,分布式限流源码实现示例
2022-12-04 22:42:07 616
原创 【技术应用】java基于UNIX域套接字(unix domain socket)连接postgresql数据库
java基于UNIX域套接字(unix domain socket)连接postgresql数据库,涉及UNIX域套接字文件.s.PGSQL.5432,连接数据库通过jdbc和mybatis框架
2022-12-04 20:30:00 942
原创 【知识点】你真的了解断言吗?
各个技术点断言总结,示例代码,涉及java中的assert、jdk1.8的Predicate、gateway中的断言和全局异常处理中用到的断言;
2022-12-02 23:32:43 1393
原创 【技术应用】java通过url爬虫获取公众号文章内容
java通过url爬虫获取公众号文章内容,同时涉及CSDN文章内容爬取,基于开源工具mlunit实现
2022-12-01 21:54:26 3224 3
原创 【工具】linux、window、手机端抓包工具汇总
linux、window、手机端抓包工具汇总,设置tcpdump命令、wireshark工具、手机端stream工具,和其它工具fiddler、Charles,并进行优缺点比对
2022-12-01 19:42:07 2614
原创 【spring 技术】基于springboot实现微服务之间FeignClient调用,免认证的功能
【spring 技术】基于springboot实现微服务之间FeignClient调用,免认证的功能,涉及OAuth2的拦截器OAuth2FeignRequestInterceptor 和AccessTokenContextRelay,即可实现内部feign调用免认证,也可以实现内部接口避免对外暴露
2022-11-30 23:56:22 4137
原创 【技术应用】java实现动态线程池ThreadPoolExecutor
java实现动态线程池ThreadPoolExecutor,代码示例,开源的动态可监控线程池框架(DynamicTp)推荐
2022-11-29 23:57:32 1336
原创 【spring基础知识】常用注解
spring常用注解,例如:@Component、@Bean、@Autowire、@Resource、@Configuration、@Repository,和@Service等,涉及注解特点和注解与注解之间的区别
2022-11-28 23:45:57 139 2
原创 【java技术】文件变更监控方式
文件变更监控,主要涉及jdk自带的webservice和common-io工具的FileAlterationListenerAdaptor
2022-11-27 23:19:05 1187
原创 【技术实现】java实时同步postgresql变更数据,基于WAL日志
java基于WAL日志订阅获取postgresql实时变更数据,类属于阿里巴巴的canal数据同步工具,基于postgresql jdbc的PGReplicationStream实现,涉及postgresql数据库的逻辑复制、订阅与通知
2022-11-26 21:49:12 4450 12
java基于UNIX域套接字(unix domain socket)连接redis
2022-12-24
java基于WAL日志订阅获取postgresql实时变更数据代码示例
2022-11-27
javaAgent实现补丁不重出功能,通过attach实现程序运行时加载,同时通过shell脚本部署到容器内
2022-11-13
ThreadLocal弱引用的GC,对线程正常运行的影响
2022-09-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人