奋斗男孩12138
码龄3年
关注
提问 私信
  • 博客:131,859
    社区:76
    问答:264
    动态:10,050
    142,249
    总访问量
  • 51
    原创
  • 32,702
    排名
  • 973
    粉丝
  • 25
    铁粉
  • 学习成就
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2021-05-29
博客简介:

奋斗男孩的博客

查看详细资料
  • 原力等级
    成就
    当前等级
    5
    当前总分
    1,080
    当月
    16
个人成就
  • 获得290次点赞
  • 内容获得15次评论
  • 获得714次收藏
  • 代码片获得1,364次分享
创作历程
  • 8篇
    2024年
  • 15篇
    2023年
  • 16篇
    2022年
  • 13篇
    2021年
成就勋章
TA的专栏
  • 面试类
    7篇
兴趣领域 设置
  • Java
    tomcatmavenintellij-ideajava-ee
TA的社区
  • 程序员摄影交流
    2 成员 3 内容
    创建者
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

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

如何用redis+lua来实现高并发限流,超时数据进行等待

然后,作为下游系统,我们需要控制并发以防止无效请求。为了确保原子性,在这里,我使用Redis + LUA脚本进行控制。然后,对于服务提供商,当请求数量超过设置的限流阈值时,将直接返回错误代码/错误提示,并终止请求的处理。对于调用者,我们要做的是:当并发请求超过限制的阈值时,请延迟请求,而不是直接丢弃它。当每秒有20个以上的请求时,它将提示“对接口进行签名的客户端请求数超过了限制”。如下RedisLimiter类,服务提供方使用limit方法实现限流,服务调用方使用limitWait方法实现限流等待(如需)
原创
发布博客 2024.11.18 ·
380 阅读 ·
3 点赞 ·
0 评论 ·
1 收藏

实现多线程交替打印问题

方法:在A线程中调用了B线程的join()方法时,表示只有当B线程执行完毕时,A线程才能继续执行。无论线程1、线程2、线程3哪个先执行,最后执行的顺序都是线程1——>线程2——>线程3。再看第三个问题,N个线程循环打印1-100,其实仔细想想这个和三个线程循环打印ABC并没有什么本质区别,只需要加上判断是否到了打印数字的最大值的语句即可。其实这类问题本质上都是线程通信问题,思路基本上都是一个线程执行完毕,阻塞该线程,唤醒其他线程,按顺序执行下一个线程。,只有线程B拿到锁后,不被阻塞,执行。
原创
发布博客 2024.10.29 ·
808 阅读 ·
10 点赞 ·
0 评论 ·
17 收藏

记内存泄漏排查,如何用dump文件 分析

方便分析内存、线程使用情况、死锁等情况的在线可视化分析dump工具一般也可以自己装MAT,等工具,但是这个在线可视化HeapHero分析dump非常全面,总之,非常nice。
原创
发布博客 2024.10.24 ·
272 阅读 ·
4 点赞 ·
0 评论 ·
3 收藏

Java特性Function基础功能特性使用

在 Java 8 中,接口是一个函数接口,它位于包下。Function接口中定义了一个方法,它可以接受一个泛型 T 对象,返回一个泛型 R 对象,即参数类型和返回类型可以不同。
原创
发布博客 2024.05.08 ·
406 阅读 ·
1 点赞 ·
0 评论 ·
3 收藏

五分钟搞懂MySQL索引下推

索引下推(Index Condition Pushdown,简称ICP),是MySQL5.6版本的新特性,它能减少回表查询次数,提高查询效率。的主键id(1、4),逐一进行回表扫描,去聚簇索引找到完整的行记录,server层再对数据根据。而MySQL 5.6 以后, 存储引擎根据(name,age)联合索引,找到。假如你了解索引最左匹配原则,那么就知道这个语句在搜索索引树的时候,只能用。其实就是指将部分上层(服务层)负责的事情,交给了下层(引擎层)去处理。来说,数据和索引是在一起的,不存在回表这一说。
原创
发布博客 2024.03.22 ·
1144 阅读 ·
5 点赞 ·
0 评论 ·
12 收藏

一次线上慢SQL调优分享

一个sql查询设置了联合索引,但是在查询的时候没有走联合索引,所以导致查询速度非常慢。因为MySQL查询优化器会自己判断这个查询所需要的代价,如果代价太大则不走联合索引,导致联合索引失效。
原创
发布博客 2024.03.22 ·
946 阅读 ·
25 点赞 ·
0 评论 ·
17 收藏

这就是维多利亚的秘密 来自社区: 程序员摄影交流, 频道: 交流讨论, https://bbs.csdn.net/topics/618264260

发布动态 2024.03.20

事务隔离级别是怎么实现的?

事务是在 MySQL 引擎层实现的,我们常见的 InnoDB 引擎是支持事务的,事务的四大特性是原子性、一致性、隔离性、持久性,我们这次主要讲的是隔离性。当多个事务并发执行的时候,会引发脏读、不可重复读、幻读这些问题,那为了避免这些问题,SQL 提出了四种隔离级别,分别是读未提交、读已提交、可重复读、串行化,从左往右隔离级别顺序递增,隔离级别越高,意味着性能越差,InnoDB 引擎的默认隔离级别是可重复读。
原创
发布博客 2024.03.20 ·
857 阅读 ·
18 点赞 ·
0 评论 ·
14 收藏

索引常见面试题

当你想查阅书中某个知识的内容,你会选择一页一页的找呢?还是在书的目录去找呢?傻瓜都知道时间是宝贵的,当然是选择在书的目录去找,找到后再翻到对应的页。书中的目录,就是充当索引的角色,方便我们快速查找书中的内容,所以索引是以空间换时间的设计思想。那换到数据库中,索引的定义就是帮助存储引擎快速获取数据的一种数据结构,形象的说就是索引是数据的目录。所谓的存储引擎,说白了就是如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。
原创
发布博客 2024.03.19 ·
1169 阅读 ·
29 点赞 ·
0 评论 ·
10 收藏

mybatis 在xml文件中特殊字符的转义方法(大于、小于、大于等于、小于等于)

【代码】mybatis 在xml文件中特殊字符的转义方法(大于、小于、大于等于、小于等于)
原创
发布博客 2023.12.29 ·
3634 阅读 ·
9 点赞 ·
0 评论 ·
15 收藏

记JVM相关一些常见面试题

只有两者都相同的情况,才认为两个类是相同的。每个类加载器都有自己的命名空间(由该加载器及所有父类加载器所加载的类组成,在同一个命名空间中,不会出现类的完整名字(包括类的包名)相同的两个类;答:主要是为了安全性,避免用户自己编写的类动态替换 Java 的一些核心类,比如 String,同时也避免了重复加载,因为 JVM 中区分不同类,不仅仅是根据类名,相同的 class 文件被不同的 ClassLoader 加载就是不同的两个类,如果相互转型的话会抛java.lang.ClassCaseException.
原创
发布博客 2023.12.27 ·
1188 阅读 ·
18 点赞 ·
0 评论 ·
25 收藏

开发工具IDEA常用的插件推荐及idea部分实用技巧和快捷键记录

如果光标在变量声明处,则查看使用该变量的代码;如果光标在使用变量处,则查看变量的声明位置。快捷键:Win: Ctrl + B Mac: Command + B 或按住 Ctrl / Command 点击鼠标左键。
原创
发布博客 2023.12.26 ·
2386 阅读 ·
20 点赞 ·
1 评论 ·
30 收藏

JVM GC 算法原理概述

这里用思维导图做一个小的总结。参考堆外内存的回收机制分析java调用本地方法--jni简介咱们从头到尾说一次 Java 垃圾回收深入理解 Java 虚拟机Java Hotspot G1 GC的一些关键技术Java Hotspot G1 GC的一些关键技术 - 美团技术团队附:关于GC Roots的理解所谓“GC roots”,或者说tracing GC的“根集合”,就是一组必须活跃的引用。所有Java线程当前活跃的栈帧里指向GC堆里的对象的引用;
原创
发布博客 2023.12.26 ·
1384 阅读 ·
19 点赞 ·
0 评论 ·
26 收藏

Linux命令-查看内存、GC情况及jmap 用法

命令jmap是一个多功能的命令。它可以生成 java 程序的 dump 文件, 也可以查看堆内对象示例的统计信息、查看 ClassLoader 的信息以及 finalizer 队列。选项参数。需要打印配置信息的进程ID。产生核心dump的Java可执行文件。需要打印配置信息的核心文件。server-id可选的唯一id,如果相同的远程主机上运行了多台调试服务器,用此选项参数标识服务器。远程调试服务器的IP地址或主机名。option查看进程的内存映像信息,类似 Solaris pmap 命令。
原创
发布博客 2023.12.21 ·
6868 阅读 ·
24 点赞 ·
0 评论 ·
53 收藏

前后端项目,nginx部署前端项目后刷新浏览器报错404的问题

【代码】前后端项目,nginx部署前端项目后刷新浏览器报错404的问题。
原创
发布博客 2023.12.15 ·
647 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

项目部署阿里云服务器详细流程

最初宝塔面板的端口号是8888,出于安全考虑,现在宝塔面板使用的端口是程序安装完成后随机生成的端口号,在步骤四图中的面板地址中可以看出,端口号为39118,注意:这个端口号是随机生成,你的宝塔面板端口号可能不是这个。在浏览器中粘贴宝塔面板的外网面板地址,并输入账号和密码,登录到宝塔面板管理后台,第一次登录需要勾选同意协议,然后进入面板。没有宝塔账号的话,就点免费注册一个宝塔账号。安全组规则设置完后,然后点【保存】即可,不需要重启云服务器,安全组规则保存后立即生效,宝塔面板端口号就已经开通了。
原创
发布博客 2023.12.13 ·
5106 阅读 ·
13 点赞 ·
0 评论 ·
118 收藏

SpringBoot上传图片文件到七牛云

pom.xml添加七牛云的sdk依赖。
原创
发布博客 2023.12.13 ·
309 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

IDEA 出现问题:git提交commit时Perform code analysis卡住解决方案(git commit提交很慢)

然后尝试执行 git commit 操作,确保 Perform code analysis 选项没有被勾选上。3、在右侧的窗口中,找到 Perform code analysis 选项,并取消勾选该选项。1、打开 IntelliJ IDEA,进入 File -> Settings(或者使用快捷键 Ctrl+Alt+S)。2、在弹出的 Settings 窗口中,找到 Version Control -> Commit Dialog 选项。4、关闭所有已打开的项目窗口,关闭IDEA,重新打开IDEA。
原创
发布博客 2023.12.12 ·
5306 阅读 ·
12 点赞 ·
0 评论 ·
15 收藏

面试二总结

什么是脏读?脏读又称无效数据的读出,是指在数据库访问中,事务T1将某一值修改,然后事务T2读取该值,此后T1因为某种原因撤销对该值的修改,这就导致了T2所读取到的数据是无效的。脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交(commit)到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。因为这个数据是还没有提交的数据,那么另外一个事务读到的这个数据是脏数据,依据脏数据所做的操作可能是不正确的。什么是不可重复读?
原创
发布博客 2023.10.22 ·
354 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

自定义注解使用SPEL表达式来动态获取方法传参

如果是对象参数,@DataAuth(spaceName = "#graphShowAttribute.space")要实现的是 动态入参,也就是在使用自定义注解的时候 ,写入的是字符串,并非一个传入参数值。如果是单个参数,@DataAuth(spaceName = "#space"),每次接口参数变化,我都想将这个参数传入自定义的注解中用以校验;这里的spaceName 并非一个固定字符串,而是一个路径参数。
原创
发布博客 2023.06.14 ·
3150 阅读 ·
3 点赞 ·
0 评论 ·
14 收藏
加载更多