随笔分类 -  Java基础

异步执行获取不到登录态的问题排查(RequestContextHolder.getRequestAttributes()子线程获取问题)
该文被密码保护。

posted @ 2023-07-07 15:24 你樊不樊 阅读(1) 评论(0) 推荐(0) 编辑

ServiceLoader.load(xx.class)的用法 加载扩展包的服务实现
摘要:https://www.jianshu.com/p/7601ba434ff4 https://www.cnblogs.com/sparkbj/articles/6208328.html https://blog.csdn.net/wanxiaoderen/article/details/106674 阅读全文

posted @ 2023-02-16 10:39 你樊不樊 阅读(64) 评论(0) 推荐(0) 编辑

springboot使用redis&lua脚本实现分布式限流starter
该文被密码保护。

posted @ 2023-02-03 17:47 你樊不樊 阅读(1) 评论(0) 推荐(0) 编辑

Java解决单机环境下多数据源的事务问题
摘要:springboot单机环境下的@Transictional可以保证事务,但多数据源的情况就无法使用了,这里简单实现一下多数据源的情况下如何保证事务。 一,事务实现方案 利用 ThreadLocal 将事务方法 内用到的 connection 缓存起来,当业务执行完毕,再统一 commit 或者 r 阅读全文

posted @ 2022-11-07 19:51 你樊不樊 阅读(1180) 评论(0) 推荐(0) 编辑

手撕四大限流算法
摘要:在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。 1,计数器限流算法 计数器算法 阅读全文

posted @ 2022-11-06 16:29 你樊不樊 阅读(356) 评论(0) 推荐(0) 编辑

手写一个Callable和FutureTask,异步线程执行并得到结果,了解其原理
摘要:一,先模拟源码的Callable创建自己的MyCallable package com.example.test.demo.thread.callable; public interface MyCallable<T> { T call(); } 二,创建自己的FutureTask package 阅读全文

posted @ 2022-10-10 16:14 你樊不樊 阅读(79) 评论(0) 推荐(0) 编辑

手写一个JDK动态代理的简单实现
摘要:前言 在【设计模式】——代理模式(静态)以及【设计模式】——代理模式(动态)中,我们已经基本了解了什么是代理模式,以及什么是静态代理,什么是动态代理。JDK动态代理以及Cglib动态代理其实底层实现原理都是字节码的重组,不过各自对应的代理场景不同,本文我们重点研究jdk动态代理。 通过前文的了解,我 阅读全文

posted @ 2022-08-29 13:00 你樊不樊 阅读(108) 评论(0) 推荐(0) 编辑

轻量级分布式任务调度平台(XXL-JOB介绍、原理、工作流程、XXL-JOB环境搭建集成springboot)
摘要:轻量级分布式任务调度平台(一、 XXL-JOB介绍、原理、工作流程) XXL-JOB# 【轻量级分布式任务调度平台】 (1) 基本介绍# XXL-JOB是一个轻量级分布式任务调度平台,主打特点是平台化,易部署,开发迅速、学习简单、轻量级、易扩展,代码仍在持续更新中。 调度中心: 任务调度控制台,平台 阅读全文

posted @ 2022-08-23 09:43 你樊不樊 阅读(9238) 评论(0) 推荐(2) 编辑

实现一个任务调度引擎系统
摘要:该系统主要用于业务系统的定时任务抽离且统一管理 对定时任务的配置管理 对服务器信息的管理 动态开启/关闭任务的执行 一,引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-star 阅读全文

posted @ 2022-07-12 13:56 你樊不樊 阅读(185) 评论(0) 推荐(0) 编辑

手写一个@Transactional注解,实现事务回滚
摘要:一,自定义注解 /** * 自定义事务注解 * 空注解,用来标识 */ @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.METHOD) public @interface MyTransactional { } 二,自己的连接管理器 / 阅读全文

posted @ 2022-03-03 16:08 你樊不樊 阅读(172) 评论(0) 推荐(0) 编辑

导航

点击右上角即可分享
微信分享提示