- 博客(16)
- 问答 (2)
- 收藏
- 关注
原创 SpringBoot集成UDP通讯协议
先简单了解下UDP协议:UDP (User Datagram Protocol) 是在 OSI 七层模型中的传输层上的一种协议。它和 TCP 类似是用来传输数据的,但是 UDP 更加简单、高效、灵活,适用于对数据传输速度要求较高,但对可靠性要求不高的场景,例如游戏、音频、视频等实时通讯场景。UDP 的工作原理和应用场景都有很大区别于 TCP,本文将详细介绍 UDP 协议的基本原理、特点、应用场景、优缺点以及使用实例。
2024-08-23 17:06:58 459
原创 Springboot整合Mqtt
客户端发布消息时可以设置为保留消息,Broker会将最后一条保留消息保存下来,新订阅该主题的客户端会立即收到该消息。客户端可以设置遗嘱消息,当客户端意外断开时,Broker会将遗嘱消息发布到指定的主题,通知其他客户端。1、MQTT支持持久会话,即使客户端断开连接,Broker也会保存客户端的订阅信息和未送达的消息。客户端发布消息到某个主题,Broker接收到消息后,根据订阅列表将消息转发给所有订阅该主题的客户端。客户端订阅一个或多个主题,Broker会将这些主题的消息转发给该客户端。
2024-08-23 16:03:57 886
原创 力扣算法-爬楼梯-递归
当n等于3的时候,他可以从一级台阶上跳两步上来,也可以从二级台阶上跳一步上来,所以总共有f(3)=f(2)+f(1);当n等于2的时候,可以先跳一级再跳一级,或者直接跳二级,共有2种跳法,记f(2)=2。同理当等于n的时候,总共有f(n)=f(n-1)+f(n-2)(这里n>2)种跳法。当n等于1的时候,只需要跳一次即可,只有一种跳法,记f(1)=1。这题我们可以参照之前分析的青蛙跳台阶问题,其实原理是完全一样的。
2024-08-23 14:48:26 196
原创 SpringBoot接口防抖(防重复提交)实现方案
一是防用户手抖,二是防网络抖动。在Web系统中,表单提交是一个非常常见的功能,如果不加控制,容易因为用户的误操作或网络延迟导致同一请求被发送多次,进而生成重复的数据记录。要针对用户的误操作,前端通常会实现按钮的loading状态,阻止用户进行多次点击。而对于网络波动造成的请求重发问题,仅靠前端是不行的。为此,后端也应实施相应的防抖逻辑,确保在网络波动的情况下不会接收并处理同一请求多次。理想的防抖组件或机制,应该具备以下特点:逻辑正确,也就是不能误判;响应迅速,不能太慢;
2024-08-23 14:39:21 169
原创 红黑树简单了解
这里所指的路径,指的是从任何一个结点开始,一直到其子孙的叶子结点的长度;接近于平衡:红黑树并不是平衡二叉树,只是由于对各路径的长度之差有限制,所以近似于平衡的状态。红黑树的应用比较广泛,主要是用它来存储有序的数据,它的时间复杂度是O(lgn),效率非常之高。
2024-08-22 09:35:22 253
原创 Spring Boot 集成 Eureka
Spring Boot 集成 Eureka 是一种常见的做法,用于实现服务发现和负载均衡。Eureka 是 Netflix 提供的一个服务注册和发现的组件。在这个例子中,我们配置了Eureka客户端来注册服务,并且指定了Eureka服务器的地址。中引入Eureka Client的依赖。注解来声明这是一个Eureka客户端。中配置Eureka服务器的地址。
2024-08-20 17:12:18 254
原创 application.properties 和 application.yml 优先级
之前面试时被问到到的问题,当时一想如此基础还不是手拿把掐了吗可就,so easy 啦!当和同时存在,同样的参数,最终生效的是中的配置。所以如果项目里因为一些“逆天”原因,导致同时存在这两个配置,那么就要小心覆盖问题了!当然,移除其中一个配置文件才是最佳处理方案!简单优先级:命令行参数 > JAR包外面的> JAR包内的> JAR包外的> JAR包内的。
2024-08-19 18:33:23 193
原创 在SpringBoot项目中实现动态定时任务。
除了这种借助cron表达式的方法,还有另一种触发器,区别于CronTrigger触发器,这个触发器可随意设置循环间隔时间,不像cron表达式只能定义小于等于间隔59秒。cron表达是方式配置。
2024-08-19 17:38:17 761
原创 JAVA中关于Long类型返回前端精度丢失问题处理
新项目将后端的Java Bean的id属性是用的Long类型对应数据库主键使用bigint类型,id改为雪花后出现的异常问题,比如id:1799633456368132098返回错误的id:1799633456368132000。导致明显问题数值精度丢失。后三位数值转换为0了。Java中的long能表示的范围比js中number大,也就意味着部分数值在js中存不下(变成不准确的值),导致Id最后几位直接变成了0。1、将后端id字段类型换位字符串类型,并且前端以字符串的方式接收就不会有精度丢失了。
2024-06-17 19:51:46 1131 1
原创 IDEA编辑pom文件,内存溢出 Low memory
编辑pom引入<dependency>报错09:53 Low memory The IDE is running low on memory and this might affect performance. Please consider increasing available heap. Analyze memory use Configure SOS...
2021-11-24 09:55:38 1856 4
原创 JJwt加密解密
pom.xml依赖 <dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.6.0</version> </dependency> <dependency>
2021-09-03 11:34:27 575
原创 2021-09-03-----spring boot 整合RabbitMq
生产者RabbitMq配置类package com.gm.config;import org.springframework.amqp.core.*;import org.springframework.boot.SpringBootConfiguration;import org.springframework.context.annotation.Bean;@SpringBootConfigurationpublic class RabbitMqConfig { //队.
2021-09-03 11:28:49 160
原创 vue组件注册
正确的Vue.component("zujian",{ template:"<div><span style='color: red'>{{cs1}}</span><button @click=\"ads\">按钮</button></div>", data() { return { cs1:0 } }, methods:{ ad.
2021-08-27 19:45:57 113
原创 Elasticsearch聚合时fielddata=true或set
报错:Fielddata is disabled on text fields by default. Set fielddata=true on [name] in order to load fielddata in memory by uninverting the inverted index. Note that this can however use significant memory. Alternatively use a keyword field instead.翻译是:默.
2021-08-19 21:04:31 1088
原创 @Scheduled
@Scheduled(cron = "0/60 * * * * ?")public void Refresh(){ HashMap<String, String> map = new HashMap<>(); this.commodityServiceimp.StoreList(map); this.commodityServiceimp.CommodityList(map); this.commodityServiceimp.OrderList(.
2021-08-04 20:13:30 614
空空如也
spring boot 和elaticsearch
2021-09-16
idea中jrebel启动
2021-09-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人