logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

一文带你彻底理清 Redisson RateLimiter tryAcquire 分布式限流的底层原理!有图有真相,挑战全网最详细

tryAcquire 底层 Lua 脚本的逻辑是:首先判断是否是第一次来,如果是建立限流 key 后第一次来,那么会创建 限流 key + value, 限流 key + permits 这两个新的 key ,+value的 key 是 String结构, 用于存储剩余的许可证个数,初始值为 rate;+ permits 的key 是 sortedSet 结构,用于存储获取许可证成功的历史请求,并

文章图片
#java#开发语言#redis +1
万字教程带你拆解并手写 Java FutureTask ,全程图示详解,保证保姆级!

无锁 FutureTask,最核心的思想是 get 方法中的循环,为什么要在入队后还做一步判断再 park,以及对于链表 CAS 入队和虚假唤醒的处理。其次的一些点就是,通过 state 来维护任务的各种执行状态,并在 future.get 的最后有一个 report(state),根据任务状态来包装返回值或者抛出对应的异常。

文章图片
#开发语言#java#面试
解决 IDEA 连接数据库时,Test Connection无法正常下载 missing driver files 错误(保姆级,超详细!)

如图,我们现在要通过idea连接mysql数据库,在连接界面我们输入user和password后,发现要download missing driver files。(如果电脑中已经有mysql-connector-java可跳过这几步下载教程,忘记下载到哪了可以跟着重新下一遍,很快就下好了)可以看到class报红解除,接下来删除第一个报红的Mysql Connector/J,选中它,点击右侧的-号

文章图片
#intellij-idea#数据库#java
从零入门 Spring AI,详细拆解 ChatClient 调用流程和 Advisor 底层原理,小白可入!

这里官方文档对 Advisor 的概念解释很清晰,我们直接引用官方文档的话来回答,Advisor 是什么:大家如果学过 Spring AOP 或 Spring 拦截器,就知道在实际调用方法前,我们可以通过拦截器或 AOP 对方法进行一些通用的功能增强;Advisor 其实也是一样的思想,核心就是:在调用 AI 前,对调用请求做一些额外处理后再调用 AI;在 AI 响应后,对响应结果做一些额外处理。

#人工智能
解决 IDEA 连接数据库时,Test Connection无法正常下载 missing driver files 错误(保姆级,超详细!)

如图,我们现在要通过idea连接mysql数据库,在连接界面我们输入user和password后,发现要download missing driver files。(如果电脑中已经有mysql-connector-java可跳过这几步下载教程,忘记下载到哪了可以跟着重新下一遍,很快就下好了)可以看到class报红解除,接下来删除第一个报红的Mysql Connector/J,选中它,点击右侧的-号

文章图片
#intellij-idea#数据库#java
到底了