- 博客(11)
- 收藏
- 关注
原创 springboot全局异常处理详解
组成:@ControllerAdvice、@ResponseBody@RestControllerAdvice特点:(1)通过@ControllerAdvice注解可以将对于控制器的全局配置放在同一个位置,他可以管理所有的Controller。(2)注解了@RestControllerAdvice的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。
2023-07-21 09:54:42 145
原创 CountDownLatch详解
使用AQS的状态值来存放计数器的值。其他线程调用countdown方法让计数器递减1,当计数器值变为0时,当前线程还要调用AQS的doReleaseShared方法来激活由于调用await()方法而被阻塞的线程。调用一个子线程的join()方法后,该线程会一直被阻塞到子线程运行完毕,而CountDowunLatch则使用计数器来允许子线程运行完毕或者在运行中递减计数,也就是CountDownLatch可以在子线程运行的任何时候让await方法返回而不一定必须等到线程结束。
2023-05-14 15:35:13 260
原创 MQTT协议客户端实现
Message Queuing Telemetry Transport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与 HTTP 一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。
2023-05-14 15:18:06 552
原创 springboot整合shiro
Subject(用户):当前的操作用户 获取当前用户Subject currentUser = SecurityUtils.getSubject()SecurityManager(安全管理器):Shiro的核心,负责与其他组件进行交互,实现 subject 委托的各种功能。Realms(数据源) :Realm会查找相关数据源,充当与安全管理间的桥梁,经过Realm找到数据源进行认证,授权等操作。数据库5张表:用户表 角色表 权限表 用户与角色的中间表 角色与权限的中间表。
2022-10-27 22:58:19 1427
原创 equals和hashCode
equals 和 hashCode 两个方法属于 Object 基类的方法 从源码中我们可以看出 equals 方法默认比较的是两个对象的引用是否指向同一个内存地址。而 hashCode 是一个 native 本地方法(所谓的本地方法就是指不是用Java语言编写的,而是使用其他语言编写的程序,比如C/C++,一般是为了更快的与机器进行交互),其实默认的 hashCode 方法返回的就是对象对应的内存地址(注意是默认)。
2022-10-03 18:34:30 292
原创 redis的延迟双删策略
mysql 和 redis 数据一致性是一个复杂的课题,通常是多种策略同时使用,例如:延迟双删、redis 过期淘汰、通过路由策略串行处理同类型数据、分布式锁等等。在我们访问redis时,redis中的数据可能不是热点数据,即此时数据库的更新操作已经完成,但是还没有同步到redis中。延迟,是因为 mysql 和 redis 主从节点数据同步不是实时的,所以需要等待一段时间,去增强它们的数据一致性。延迟双删用比较简洁的方式实现 mysql 和 redis 数据最终一致性,但它不是强一致。
2022-10-03 17:32:36 1066
原创 序列化
网络传输的数据必须是二进制数据,但是在Java中都是对象,是没有办法在网络中传输的,所以就需要对Java对象进行序列化,并且要求这个序列化是可逆的,也就是说可以进行反序列化,否者人家都不知道你传递的是啥消息。需要被序列化的类实现Serializable接口 具体实现:序列化ObjectOutputStream#writeObject(Object obj)方法。如RMI(远程方法调用)要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。将内存中的对象状态保存到文件或者数据库中。
2022-09-30 15:51:49 130
docker-19.03.15-Linux
2023-07-28
FinalShell-国产ssh终端工具
2023-05-24
Snipaste截图工具
2023-05-20
SSCOM串口调试助手 5.13.1
2023-05-20
MQTTX mqtt协议客户端模拟工具
2023-05-14
emqx MQTT协议 服务端工具
2023-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人