自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(54)
  • 收藏
  • 关注

原创 AOP +Guava实现一个限流拦截

其中key代表限流的字段例如 userId.permitPerSecond代表每秒最大访问量blackListCount() 代表违反限流几次进入黑名单fallbackmethod() 代表限流和黑名单之后的降级方法其中 loginRecord 记录了标识字段key对应的限流RateLimiter.当违规一次时 blackList中的数值 + 1如果违反了注解中定义的黑名单次数值则直接走fallback()降级的方法.@Aspect@Slf4j@Component。

2024-07-28 15:26:12 234

原创 ThreadLocal源码分析学习

当创建一个ThreadLocal对象执行set方法时,首先会获取到当前线程的threadLocalMaps.

2024-07-23 10:03:49 291

原创 手写简易版Spring IOC容器05【学习】

getBean时首先拿到当前bean对象判断是FactoryBean对象吗?如果是需要从上一步中FactoryBeanRegistry的map中来获取对象。如果不是先创建FactoryBean对象还是继续去FactoryBean中去获取。= null) {// 如果是 FactoryBean,则需要调用 FactoryBean#getObject。

2024-07-22 15:04:44 482

原创 手写简易版Spring IOC容器04【学习】

在applyBeanPostProcessorsBeforeInitialization之后执行// 1. 执行 BeanPostProcessor Before 处理// 执行 Bean 对象的初始化方法try {// 2. 执行 BeanPostProcessor After 处理// 1. 实现接口 InitializingBean 调用方法.// 2. 配置信息 init-method {判断是为了避免二次执行销毁}

2024-07-21 15:24:12 445

原创 手写简易版Spring IOC容器03【学习】

用于编排整体的方法@Override// 1. 创建beanFactory并加载beanDefinition.// 2. 获取BeanFactory// 3. 在 Bean 实例化之前,执行 BeanFactoryPostProcessor// 4. BeanPostProcessor 需要提前于其他 Bean 对象实例化之前执行注册操作// 5. 提前实例化单例Bean对象// getBean方法....

2024-07-20 16:54:06 878

原创 手写简易版Spring IOC容器02【学习】

其中applyPropertyValues用于从beanDefinition中读取属性的配置信息然后通过BeanUtil(hutool-all中提供的类)为其赋值@Overridetry {// 创建bean实例Class<?if (null!break;// 设置属性值try {// 从beanDefinition中获取property通过Resource获取文件流。

2024-07-19 15:16:23 626

原创 手写简易版Spring IOC容器01【学习】

继承单例 获得单例的全部方法,实现BeanFactory接口然后定义模板方法和两个抽象方法让子类实现.@Override// 首先从单例对象的map中去获取.if(bean!// 去执行子方法的逻辑获取beanDefinition@Override// 首先从单例对象的map中去获取.if(bean!// 去执行子方法的逻辑获取beanDefinition继承上一个抽象类实现其中模板定义的一个方法 (createBean)@Overridetry {

2024-07-18 16:32:35 433

原创 Kafka接收消息

消费者端接收一个List即可。

2024-07-12 11:20:26 522 1

原创 Spring是如何管理事务的?

Spring 的事务管理机制通过编程式事务管理和声明式事务管理两种方式提供了灵活的事务控制。声明式事务管理是最常用的方式,通过注解,可以方便地控制事务的传播行为、隔离级别、超时时间和回滚规则。Spring 事务管理机制的强大和灵活性,使得开发者可以轻松地处理复杂的事务场景,确保数据的一致性和完整性。

2024-07-12 08:47:56 826

原创 Spring中事件监听器

Overridetry {@Component@Slf4jlog.info("发送短信....");

2024-07-11 15:22:17 209

原创 kafka发送消息流程

配置props.put(ProducerConfig.PARTITIONER_CLASS_CONFIG, RoundRobinPartitioner.class);

2024-07-11 11:40:51 356 1

原创 kafka的副本replica

kafka-topics.sh --create --topic myTopic --partitions 3 --replication-factor 1 --bootstrap-server localhost:9092

2024-07-09 12:18:57 343

原创 Kafka发送对象消息

【代码】Kafka发送对象消息。

2024-07-09 11:17:16 409

原创 kafka获取消息结果阻塞&非阻塞

【代码】kafka获取消息结果阻塞&非阻塞。

2024-07-09 10:45:39 262

原创 cloneable接口

浅克隆:复制对象时,只复制原对象的基本类型字段和引用类型字段的引用。克隆对象与原对象共享同一个引用对象。深克隆:复制对象时,除了复制基本类型字段外,对于引用类型字段,也会创建新的实例并复制其内容。克隆对象与原对象完全独立。

2024-07-09 09:24:51 800

原创 LinkedHashMap

通过在其哈希表条目结构中增加两个指针(before和after),维护一个双向链表,从而保证元素的有序性。默认情况下,它按插入顺序迭代元素;如果在构造时指定为true,则按访问顺序迭代元素。这使得能够在特定的顺序要求下提供高效的键值对存储和访问。

2024-07-09 09:11:42 952

原创 Kafka学习

分为消费者 Croducer 主题 Topic 生产者 Producer其中Topic包括Topic中包括了分区和offset偏移量的概念;一个简单的Kafka发消息收消息java代码:生产者。

2024-07-08 13:07:21 401

原创 ResourceHttpRequestHandler【Spring源码学习】

首先由SimpleUrlHandlerMapping记录所有的映射关系;

2024-07-07 14:50:09 163

原创 RouterFunctionMapping和HandlerFunctionAdapter【Spring源码学习】

【代码】RouterFunctionMapping和HandlerFunctionAdapter【Spring源码学习】

2024-07-07 14:33:20 133

原创 Tomcat异常处理【Spring源码学习】

当没有指定具体控制器异常处理方法时,默认走的异常会被tomcat捕获;例如在这个配置类中添加MVC的配置。我们可以在配置类中添加如下代码。

2024-07-06 14:31:05 261

原创 @ControllerAdice统一返回值类型【Spring源码学习】

我们可以通过在@ControllerAdvice注解类上实现ResponseBodyAdvice注解来实现统一返回值类型;例如统一接口的返回类型为Result类。方法来进行检查当前类是否加了这个注解;

2024-07-05 14:43:34 247

原创 返回值处理器器【Spring源码学习】

定义返回值类型处理器的组合;测试使用的controller测试方法。

2024-07-05 13:24:14 345

原创 控制器方法执行流程和 @InitBinder【Spring源码学习】

首先说明@ControllerAdvice和aop没有任何关系!加在ControllerAdvice中只对所有控制器都生效全局的在开始时就会保存到handlerMappingAdapter中的cache中;

2024-07-01 19:46:03 178

原创 如何获取泛型参数【Java】

对于一个基本的类它的子类如何获得当前类对应的泛型参数呢?

2024-06-30 14:07:19 191

原创 类型转换与数据绑定【Spring源码学习】

类型转换。

2024-06-30 13:30:58 210

原创 Controller中的参数解析器【Spring源码学习】

mockRequest构建request请求定义controller解析过程通过handlerMethod.getMethodParameters拿到方法对应的全部的参数,然后对参数内容进行解析,RequestParamMethodArgumentResolver用来解析@RequestParam注解;首先通过supportsParameter看当前参数是否满足解析要求;如果满足则进行参数解析赋值;

2024-06-29 15:18:40 214

原创 RequestMappingHandlerAdapter【Spring源码学习】

/ 解析器是否支持某个参数 判断是否加了我们的@Token注解@Override= null;// 具体解析参数@Override// 拿到请求中的token将参数解析器加入adapter中@Bean具体执行// 拿到 RequestMappingHandlerAdapter// 验证自定义参数解析器// 拿到当前请求对应的执行链// 执行请求对应的方法方法上加上此注解代表返回值类型要被解析为yml格式controller中使用@Yml。

2024-06-29 11:45:23 182

原创 RequestMappingHandlerMapping【Spring源码学习】

通过RequestMappingHandlerMapping可以获得对应的请求路径请求方式对应的方法Map。返回的并不是只有method方法,而是包括了拦截器等组成的一个执行器链!

2024-06-29 11:14:05 309

原创 Java中线程的状态

线程状态

2024-06-24 10:39:13 214

原创 线程池线程数设置为多少合适?

线程池线程设置

2024-06-24 09:23:29 477

原创 Socket编程【个人简单】

socket编程简单概要

2024-06-22 11:09:09 705

原创 什么时候用G1比CMS更好?

停顿时间控制内存管理CPU和资源消耗。

2024-06-22 10:49:08 180

原创 MySQL中什么是索引合并?

索引合并是数据库查询优化的一种技术,它允许数据库管理系统在处理查询时,利用多个索引来改进数据检索的效率。这种技术主要应用在那些设计多个条件的查询中,通过合并多个索引的结果集,找出最终满足所有条件的数据行。在MySQL中如果使用了索引合并,执行计划中会明确显示type为index_merge,key中列出用到的索引列表,并且在extra中会提示具体用了哪种索引合并策略。上述这种情况两个列之间用and连接会使用。上述这种情况两个列之间用or连接会使用。

2024-06-22 09:04:59 250

原创 MySQL索引一遵循最左前缀匹配吗?

索引底层是一个B+树,如果是联合索引的话,在构造B+树的时候,会先按照左边的Key进行排序,左边的key相同时再依次按照右边的key排序。所以,通过索引查询的时候,也需要遵守最左前缀匹配机制,也就是需要从联合索引最左边开始进行匹配,这时候就要求查询语句的where条件中,包含最左边的索引值。

2024-06-19 10:02:01 305

原创 MySql只操作同一条记录,也会发生死锁吗?

为了避免这种问题的发生,可以在程序中设置获得锁的顺序,例如只能按照先获得主键索引 --> 普通索引的顺序获取锁,避免死锁的发生。如果刚好在这时,有另外一个线程已经拿到了当前主键索引的锁,同时尝试去在该事务中去拿记录的普通索引的锁。这时候就会发生死锁。当我们在事务中,更新一条记录的时候,如果用到普通索引作为条件,那么会先获取普通索引的锁,然后再尝试获取主键索引的锁。

2024-06-18 09:50:10 283

原创 Spring事务失效的可能原因

spring事务失效

2024-06-17 09:27:24 152

原创 SpringBoot 中间件设计和开发【分库分表组件简易版】

简单的分库分表组件开发【个人学习笔记】

2024-06-15 11:54:57 817

原创 Spring Event做事件驱动【实例】

spring event

2024-06-14 10:01:30 265

原创 Loterty抽奖项目【规则树抽奖中过滤03】

开篇介绍:将按照渐进的顺序逐步编写一个完整的抽奖项目。

2024-06-13 16:39:39 935

原创 Loterty抽奖项目【责任链处理抽奖前规则02】

开篇介绍:将按照渐进的顺序逐步编写一个完整的抽奖项目。

2024-06-13 16:10:48 401

空空如也

空空如也

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

TA关注的人

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