自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 springboot全局异常处理详解

组成:@ControllerAdvice、@ResponseBody@RestControllerAdvice特点:(1)通过@ControllerAdvice注解可以将对于控制器的全局配置放在同一个位置,他可以管理所有的Controller。(2)注解了@RestControllerAdvice的类的方法可以使用@ExceptionHandler、@InitBinder、@ModelAttribute注解到方法上。

2023-07-21 09:54:42 145

原创 Mybatis CLob类型处理

【代码】Mybatis CLob类型处理。

2023-06-18 18:43:21 414

原创 Java字符串处理工具类

【代码】Java字符串处理工具类。

2023-05-14 15:50:22 272

原创 Java时间日期工具类

【代码】Java时间日期工具类。

2023-05-14 15:46:20 108

原创 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

原创 单例模式(设计模式)

单例(Singleton)模式的定义:程序运行时,在java虚拟机中只存在该类的一个实例对象。

2022-09-30 17:03:42 150

原创 序列化

网络传输的数据必须是二进制数据,但是在Java中都是对象,是没有办法在网络中传输的,所以就需要对Java对象进行序列化,并且要求这个序列化是可逆的,也就是说可以进行反序列化,否者人家都不知道你传递的是啥消息。需要被序列化的类实现Serializable接口 具体实现:序列化ObjectOutputStream#writeObject(Object obj)方法。如RMI(远程方法调用)要利用对象序列化运行远程主机上的服务,就像在本地机上运行对象时一样。将内存中的对象状态保存到文件或者数据库中。

2022-09-30 15:51:49 130

docker-19.03.15-Linux

Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源。 Docker自2013年以来非常火热,无论是从 github 上的代码活跃度,还是Redhat在RHEL6.5中集成对Docker的支持, 就连 Google 的 Compute Engine 也支持 docker 在其之上运行。 一款开源软件能否在商业上成功,很大程度上依赖三件事 ——成功的 user case(用例), 活跃的社区和一个好故事。 dotCloud 之家的 PaaS 产品建立在docker之上,长期维护且有大量的用户,社区也十分活跃,接下看看docker的故事。 环境管理复杂 - 从各种OS到各种中间件到各种app, 一款产品能够成功作为开发者需要关心的东西太多,且难于管理,这个问题几乎在所有现代IT相关行业都需要面对。 云计算时代的到来 - AWS的成功, 引导开发者将应用转移到 cloud 上, 解决了硬件管理的问题,然而中间件相关的问题依然存在 (所以openstack HEAT和 AWS

2023-07-28

FinalShell-国产ssh终端工具

1.多平台支持Windows,macOS,Linux 2.多标签,批量服务器管理. 3.支持登录ssh和Windows远程桌面. 4.漂亮的平滑字体显示,内置100多个配色方案. 5.终端,sftp同屏显示,同步切换目录. 6.命令自动提示,智能匹配,输入更快捷,方便. 7.sftp支持,通过各种优化技术,加载更快,切换,打开目录无需等待. 8.服务器网络,性能实时监控,无需安装服务器插件. 9.内置海外服务器加速,加速远程桌面和ssh连接,操作流畅无卡顿. 10.内存,Cpu性能监控,Ping延迟丢包,Trace路由监控. 11.实时硬盘监控. 12.进程管理器. 13.快捷命令面板,可同时显示数十个命令. 14.内置文本编辑器,支持语法高亮,代码折叠,搜索,替换. 15.ssh和远程桌面均支持代理服务器. 16.打包传输,自动压缩解压. 17.支持rz,sz (zmodem) 18.多地点ping监控 19.命令输入框,支持自动补全,命令历史 20.自定义命令参数功能,可动态根据输入参数生成命令 21.可设置终端背景图片,并拥有动态背景模糊,文字阴影效果. 22.一键查看各种系统信

2023-05-24

Snipaste截图工具

Snipaste 是一个简单但强大的截图工具,也可以让你将截图贴回到屏幕上!下载并打开 Snipaste,按下 F1 来开始截图,再按 F3,截图就在桌面置顶显示了。就这么简单! 你还可以将剪贴板里的文字或者颜色信息转化为图片窗口,并且将它们进行缩放、旋转、翻转、设为半透明,甚至让鼠标能穿透它们!如果你是程序员、设计师,或者是大部分工作时间都在电脑前,贴图功能将改变你的工作方式、提升工作效率。 Snipaste 使用很简单,但同时也有一些较高级的用法可以进一步提升你的工作效率。感兴趣的话,请抽空读一读用户手册。 Snipaste 是免费软件,它也很安全,没有广告、不会扫描你的硬盘、更不会上传用户数据,它只做它应该做的事。

2023-05-20

SSCOM串口调试助手 5.13.1

1、显示流畅,不容易丢数据.中文显示无乱码. 2、USB串口误拔不易死机,大部分型号的USB芯片插回能自动恢复(pl2303除外). 3、通讯方面支持串口和网卡TCP/IP,UDP通讯. 4、波特率支持自定义,最 5、可以实现“帧头+数据+校验+帧尾”的 6、支持字符串和十六进制方式显示,和加时间戳分数据包显示,支持数据波形(示波器)显示. 7、支持字符串和十进制方式发送,支持预定义99组数据串发送.支持发送数据包加校验.支持转义符号输入. 8、支持接收数据直接保存到文件,也可保存窗口数据和原始接收数据. 9、支持终端仿真,STM32的ISP程序下载功能. 10、窗口大小位置,接收窗口的字体颜色背景色均可保存. 11、更多功能请看SSCOM串口调试助手全部使用帮助.

2023-05-20

MQTTX mqtt协议客户端模拟工具

MQTT X 是一款开源的 MQTT 5.0 桌面测试客户端,它支持在 macOS,Linux,Windows 操作系统上运行。 MQTT X 支持创建多个同时在线的 MQTT 客户端,方便用户快速测试 MQTT/TCP、MQTT/TLS 、MQTT/WebSocket 的连接/发布/订阅功能及其他 MQTT 协议特性。 跨平台,支持 Windows,macOS,Linux; 完整支持 MQTT v3.1.1 以及 MQTT v5.0 协议; 支持 CA、自签名证书,以及单、双向 SSL/TLS 认证; 多界面主题,支持 Light、Dark、Night 三种主题模式切换; 订阅 Topic 时可自定义颜色标记; 支持简体中文以及英文; 支持 MQTT/TCP 连接和 MQTT/WebSocket 连接; 支持 $SYS 主题自动订阅,并可按层级展开; 支持多种 Payload 格式 Hex, Base64, JSON, Plaintext。 MQTT X 采用了 Electron 跨平台技术,在交互上一改常见的单一客户端模式,允许保存多个连接信息; 使用简单,能够快速创建连接,且

2023-05-14

emqx MQTT协议 服务端工具

EMQX 作为物联网应用开发和物联网平台搭建必须用到的基础设施软件,主要在边缘和云端实现物联网设备互联与设备上云,提供物联网设备接入、协议处理、消息路由、数据存储、流数据处理等核心能力。其特性如下: 物联网设备一站式连接。3G/4G/5G&NB-IoT 全网络支持,TLS/DTLS 多重网络安全,X.509 证书等多种身份认证; 高并发低延时,大规模分布式。千万级并发连接,百万级消息吞吐,毫秒级消息时延。大规模分布式,高可用集群架构,弹性伸缩部署; 扩展模块与插件。EMQX 内置扩展插件架构,支持以插件方式提供认证、ACL、存储接口,能非常方便的与上层物联网应用及其他 IT系统快速集成; 多种物联网协议支持。完整支持 MQTT V5.0 协议规范,并下兼容 MQTT V3.1 和 V3.1.1,还可扩展支持 MQTT-SN、CoAP、LwM2M、WebSocket、STOMP或私有 TCP 等多种物联网协议; 强大的规则引擎,快速应用集成。内置强大的规则引擎,一站式数据提取、过滤与转换。灵活集成 SQL、NoSQL、时序数据库,及 Kafka 等流处理中间件。快速应用集成与持续创新;

2023-05-14

空空如也

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

TA关注的人

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