小李哥编程
码龄5年
关注
提问 私信
  • 博客:311,810
    社区:1
    视频:2
    311,813
    总访问量
  • 158
    原创
  • 303,063
    排名
  • 325
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2019-09-29
博客简介:

weixin_45701550的博客

查看详细资料
  • 原力等级
    当前等级
    5
    当前总分
    1,672
    当月
    6
个人成就
  • 获得503次点赞
  • 内容获得22次评论
  • 获得975次收藏
  • 代码片获得1,462次分享
创作历程
  • 18篇
    2024年
  • 63篇
    2023年
  • 33篇
    2022年
  • 30篇
    2021年
  • 10篇
    2020年
  • 4篇
    2019年
成就勋章
TA的专栏
  • 架构
    3篇
  • 一起学习Spring
    21篇
  • 日常随笔
    63篇
  • 一起学习mysql
    10篇
  • java入门学习
    9篇
  • 设计模式
    20篇
  • redis
    8篇
  • flink
    4篇
  • 消息队列
    4篇
  • es
    7篇
  • 微服务
    2篇
兴趣领域 设置
  • 大数据
    redis
  • 后端
    spring架构
  • 搜索
    elasticsearch
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

分布式系统弹性设计之限流策略

限流策略是保障分布式系统高可用性的重要手段之一。通过合理运用固定窗口限流、滑动窗口限流、令牌桶限流和漏桶限流等策略,系统能够在面对突发流量、恶意攻击等压力时,有效保护关键资源,避免服务过载,确保大部分用户请求得到及时响应。结合业务特性和系统架构选择并适时调整限流策略,是提升分布式系统整体稳定性和用户体验的关键步骤。在设计和运维分布式系统时,充分理解和灵活运用这些限流技术,将有助于构建健壮、可靠且高度可用的大型分布式应用程序。
原创
发布博客 2024.04.01 ·
865 阅读 ·
17 点赞 ·
0 评论 ·
20 收藏

决胜分布式:揭秘Spring框架@Retry注解的智慧重试艺术

基本概念@Retryable注解是Spring Retry模块提供的关键特性,它允许开发者标记某个方法,指示当该方法在执行过程中抛出特定类型的异常时,应当自动进行重试。这种基于注解的重试机制简化了代码编写,使重试逻辑与业务逻辑解耦,提高了代码的可读性和可维护性。基本用法要在Spring应用中启用@Retryable注解,首先需要添加Spring Retry依赖,并在配置类上启用Retry功能。@Bean@Service// 实现业务逻辑,可能会抛出MyCustomException。
原创
发布博客 2024.03.31 ·
1039 阅读 ·
8 点赞 ·
0 评论 ·
9 收藏

终于有人把Autowired注解讲清楚了,赞!!!

前面文章,提到使用@Autowired进行依赖注入,那么你知道 @Autowired怎么工作的吗?
原创
发布博客 2024.03.30 ·
4828 阅读 ·
10 点赞 ·
0 评论 ·
22 收藏

Spring官方真的不建议使用属性进行依赖注入吗?

使用Spring进行依赖注入时,很多大佬都推荐使用构造方法注入,而非使用在属性上添加@Autowired注入,而且还说这是Spring官方说的,真的是这样吗?使用Spring进行依赖主要的方式有很多,主流的使用方式有两种:1.在属性或者setter方法上使用@Autowired进行注入2.在构造方法上使用@Autowired进行注入那么哪种方式更好一点呢?很巧,在看Spring文档的时候看到了这样一段描述:上面描述主要表达三个信息:1.两者可以混合使用,对于必须的依赖项,使用构造函数;
原创
发布博客 2024.03.30 ·
723 阅读 ·
21 点赞 ·
0 评论 ·
8 收藏

你还在用Mybatis?试试这款神器,纵享丝滑

在这个示例中,我们首先根据 ID 查询到需要更新的用户。在 Java 项目中,我们经常需要与数据库进行交互,而 Mybatis 是一个流行的持久层框架,它可以将 Java 对象映射到 SQL 语句,从而简化数据库操作。Fluent Mybatis 是一个基于 Mybatis 的扩展库,它提供了更加简洁、易读的 API,使得我们能够更加高效地进行数据库操作。使用Mybatis实现复杂的业务查询逻辑,是一个很头痛的事情,下面介绍一个神器,完全使用DSL编程风格,无需写sql就可以轻松实现。
原创
发布博客 2024.03.24 ·
587 阅读 ·
21 点赞 ·
0 评论 ·
11 收藏

如何动态修改spring中定时任务的调度策略(2)

上一篇文章中我们一下走读了一下spring中实现@Scheduled的源码,想必你对spring中实现定时调度的原理更加了解吧,文末我们两个问题,1.spring在进行定时调度时,使用的线程池是默认,那么这个默认的线程池的配置是怎样的呢?2.如何动态调整调度策略。接下来我们详细分析一下这两个问题。spring在执行调度任务前,会按照好一定的策略,寻找一个可用的线程池来执行调度任务,寻找这个线程池的过程如下:在上面的代码中,有三处可以完成对 线程池的设置:1.通过自定义的 SchedulingConfig
原创
发布博客 2024.03.19 ·
1013 阅读 ·
23 点赞 ·
0 评论 ·
10 收藏

如何动态修改spring中定时任务的调度策略(1)

在我们日常开发中经常会调度工具来处理一下需要定时执行的任务,比如定时导出报表数据给业务方发送邮件。你在工作中是如何这种定时调度?
原创
发布博客 2024.03.19 ·
1121 阅读 ·
18 点赞 ·
0 评论 ·
19 收藏

http中的长连接和短连接你真的了解吗?

做web开发的老铁应该都知道http协议,它是前后端通信中非常常用的一种通信协议,HTTP(HyperText Transfer Protocol)即超文本传输协议,是互联网上应用最为广泛的一种网络协议。HTTP协议是一个基于请求-响应模型的协议,客户端(浏览器、移动客户端等)发起请求,服务端接收请求后进行处理并返回响应。在HTTP协议中,有两种连接方式:长连接和短连接,它们主要区别在于连接的持续时间和资源利用率。
原创
发布博客 2024.03.16 ·
3422 阅读 ·
18 点赞 ·
0 评论 ·
40 收藏

如何在mac下使用homebrew安装 mysql?

首次安装 MySQL 后,需要设置 root 用户的密码。
原创
发布博客 2024.03.12 ·
774 阅读 ·
2 点赞 ·
0 评论 ·
0 收藏

一次奇怪的事故:机器网络连接打满,导致服务不可用

机器网络连接被占满后,slb再将请求转发到该机器上时,网络连接的建立就会被阻塞,直至超时,而超时后,slb又会进行重试,导致出现的大量链接建立行为,也就出现了slb连接创建过多的告警,这个时候slb与该实例的健康检查请求也会出现问题,导致该实例从slb上被摘除。但slb到该实例的请求转发还是正常,因为后端服务请求处理的比较慢,所以slb需要和后端服务建立新的网络连接来进行新的请求的发送,新建连接发送的请求,被处理的速度依旧很慢,所以需要不断的建立新的连接,很快导致该实例所在的机器的网络连接被占满。
原创
发布博客 2024.02.26 ·
1091 阅读 ·
22 点赞 ·
0 评论 ·
19 收藏

ConcurrentSkipListMap 深度解析

每一层都是一个有序的链表,最底层包含所有的元素。上层的链表包含的元素是下层链表元素的子集。插入操作通过随机函数决定新节点是否提升到更高的层级,实现了O(log N)时间的插入操作。提供了高效的并发控制,但在并发操作中,仍需要注意可能的竞态条件。接口,基于跳表(Skip List)实现,并提供了高效的并发控制。中的元素是有序的,支持按照键的范围进行查找,这使得它在范围查找的场景中非常有用。的底层实现原理、适用场景、使用过程中可能遇到的问题,以及并发控制。适用于动态数据集合,即数据的插入和删除频繁的场景。
原创
发布博客 2024.01.16 ·
671 阅读 ·
7 点赞 ·
1 评论 ·
11 收藏

TreeMap 深度解析:底层实现、使用场景和并发控制

默认情况下,TreeMap使用元素的自然顺序进行排序。如果元素不实现。
原创
发布博客 2024.01.16 ·
1197 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

Java集合框架深度解析:HashMap

在元素数量不断增加的过程中,避免不必要的扩容是提高性能的一种手段。时,如果能够估计元素的数量,最好指定初始容量,以减少扩容操作的次数。在存储元素的过程中,当元素数量达到一定比例(加载因子)时,会触发哈希表的扩容操作,重新分配存储空间。是非线程安全的,如果在多线程环境中使用,可能需要通过额外的同步手段来确保线程安全。由于哈希函数的值域远远小于键的集合,不同的键可能映射到相同的位置,产生冲突。适用于需要快速查找的场景,例如,缓存系统中通过缓存键快速定位对应的值。使用分段锁的机制,可以支持更高的并发度。
原创
发布博客 2024.01.07 ·
485 阅读 ·
6 点赞 ·
0 评论 ·
7 收藏

Java集合框架深度解析:HashSet

HashSet作为Java集合框架中的重要一员,在无序、要求唯一性的场景下表现出色。深入理解其实现原理、使用场景和性能优化建议,有助于在实际应用中更加高效地利用它的优势。
原创
发布博客 2024.01.07 ·
935 阅读 ·
15 点赞 ·
0 评论 ·
20 收藏

Java集合框架深度解析-ArrayList

作为集合框架的第一篇文章,在本篇文章会重点介绍一下日常开发中使用最频繁的集合之一 —ArrayList,文章内容会涉及ArrayList的实现原理,使用场景和一些踩坑点,希望对你能有帮助。基于动态数组实现,其内部维护了一个 Object 类型的数组,可以动态扩展和收缩。当元素数量超过当前数组容量时,会自动创建一个新的数组,并将元素复制到新数组中。基于数组实现,插入和删除操作可能导致元素的移动,因此不适合频繁执行这类操作。提供了常数时间的随机访问,这是通过直接访问数组元素实现的。在使用 ArrayList。
原创
发布博客 2024.01.05 ·
1004 阅读 ·
20 点赞 ·
0 评论 ·
21 收藏

Java中的异常如何处理?

在本文中,我们深入了解了Java异常处理的基础知识,包括异常的分类、异常处理语句以及自定义异常的使用。异常处理是编写稳健程序的重要组成部分,在编写代码时务必考虑处理可能发生的异常情况。在Java中,异常分为两类:受检异常(Checked Exception)和非受检异常(Unchecked Exception)。非受检异常是在运行时期才能被检测到的异常,通常是由程序错误引起的。受检异常通常是在编译时期能够被检测到的异常,程序必须显式地处理或声明它们。除了Java提供的异常类型,我们还可以创建自定义异常。
原创
发布博客 2024.01.03 ·
407 阅读 ·
4 点赞 ·
0 评论 ·
7 收藏

深入Java语言基础

本文深入剖析了Java语言基础的三个关键方面:操作符,访问权限控制,以及控制执行流程。在这篇文章中,我们将深度剖析Java语言基础的三个关键方面:操作符,访问权限控制,以及控制执行流程。=),大于(>),小于(=),小于等于(
原创
发布博客 2024.01.02 ·
430 阅读 ·
10 点赞 ·
0 评论 ·
4 收藏

探索Java的魅力

从本篇文章开始,小编准备写一个关于java基础学习的系列文章,文章涉及到java语言中的基础组件、实现原理、使用场景、代码案例。本篇文章作为本系列的第一篇文章,主要介绍一些java语言的特点,相对于其他编程语言java的有哪些优势,以及在进行java语言开发前的环境配置。Java是一门面向对象的语言,这意味着你可以使用面向对象的思维方式构建应用程序。在这个系列的第一篇中,我们将迈出入门的第一步,了解为什么Java如此受欢迎以及它有哪些独特之处。多线程是Java的一项强大功能,允许开发者编写高效的并发程序。
原创
发布博客 2024.01.02 ·
503 阅读 ·
9 点赞 ·
0 评论 ·
8 收藏

多次触发FastJson漏洞的AutoType机制,你了解吗?

解决问题的方法也很简单,既然@type指定的类型不存在,那么可以在系统中把需要的类型定义出来,不过@type指定的类型,是三方接口系统中定义的,如果把该类型引入到调用方系统中,那么对于调用方的侵入性很大,而且定义这个类型,仅仅为了解决这个问题,有很大解释成本在里面。从内容上看,比较特殊的地方在于多了一个特殊的字段“@type”,经过测试,反序列化报错,的确是因为这个特殊的字段造成的(把@type字段去掉,反序列化可以正常进行)。) fastjson。导致的,那么在序列化时,把类型信息给添加上可以了。
原创
发布博客 2023.12.24 ·
1863 阅读 ·
23 点赞 ·
0 评论 ·
16 收藏

分享一款程序员摸鱼神器,自己要偷偷的用哦

使用下来,感觉十分方便,确实可以提高工作效率,但是使用前还是要先确认清楚,公司是否允许使用,毕竟代码也是公司的资产,有些公司对公司数据管理特别严格,会对第三方的一些工具的使用有限制,别自己用的正嗨着呢,转头收到公司安全的警告和处罚,就不太好了。
原创
发布博客 2023.12.09 ·
2375 阅读 ·
11 点赞 ·
0 评论 ·
12 收藏
加载更多