该教程将从mqtt的介绍——>优缺点——>linux centOS 7系统下安装部署mqtt——>并加入开机自启——>spring boot集成mqtt——>最后进行验证的全部流程。 MQTT协议全称Meaage Queuing Telemetry Transport 消息队列遥测传输协议。 它是一种基于订阅/发布(Publish/Subscribe)模式的轻量级通讯协议,用于物联网(IoT)设备之间的通讯。该协议构建于TCP/IP协议之上,因TC
2024-12-01导言 一、字符串的优化 1、String优化 String对象是java中重要的数据类型,在大部分情况下我们都会用到String。在java语言漫长的进化过程中,开发人员也对String做了大量的优化,其中字符串的不变性和常量池复用也是String的重要特点 1、不变性 String类以final进行了修饰,在系统中就不可能有String的子类,同时String对象的状态在其被创建之后就不在发生变化。在一个对象被多线程共享,而且被频繁的访问时,可以省略同步和锁的时间,从而提高性能。它也保证
2024-12-01一、前言 最近遇到批量刷新ES数据的需求,为了加快处理速度,那必须首选goroutine了,但是众所周知,goroutine的返回值和错误处理一直都让人难以捉摸,go出去简单,怎么监测go出去的结果是个问题。 1、goroutine的错误处理 sync.ErrGroup在sync.WaitGroup功能的基础上,增加了错误传递,以及在发生不可恢复的错误时取消整个goroutine集合,或者等待超时。 具体的大家可以百度学习下。 2、goroutine的处理结果
2024-12-01为什么需要 Stream Stream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 OutputStream 是完全不同的概念。它也不同于 StAX 对 XML 解析的 Stream,也不是 Amazon Kinesis 对大数据实时处理的 Stream。Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (
2024-12-01一、背景 大家好呀,好久没有更新博文了 最近,我有一个朋友写了一个 bug,导致线上损失了几百万 说是bug,也不算bug 罪魁祸首就是 @Scheduler 这个注解 如果你的项目中用到了这个注解,我真的建议你花几分钟看一下这个问题 说不定下一个踩坑被裁的就是你 废话不多说,我们一起来看看这个注解有啥隐藏的问题 二、架构 朋友线上的架构如下: 简单介绍下业务逻辑: 调度引擎将一些SQL封装成SQL任务提交至大数据平台大数据平台执行任务返回结果于调度引擎执行后续逻辑监控系统启动定时任务定时扫
2024-12-01springboot项目里要用到下拉框动态更新的功能,这里记一下。子项的内容是从数据库中获取的字段。 一、最终效果 二、html <div class="layui-input-inline"> <select id="getGuid" name="Guid" lay-search style="width:190px;height:35px"> <option value="">请选择</option> </select> </div> 三、js部分 funct
2024-12-01写在文章开头 关于go语言的系列文章更新了有一段时间了,从阅读量来看大部分接触go语言的读者都是Java开发,因为Java这门语言没有指针的概念,所以笔者专门整理了一篇文章带读者快速了解一下指针的概念。 因为近期收到很多读者的私信,所以也专门创建了一个交流群,感兴趣的读者可以通过上方的公众号获取笔者的联系方式完成好友添加,点击备注 “加群” 即可和笔者和笔者的朋友们进行深入交流。 go语言指针详解 简介 指针的基本概念 这里笔者以C语言的概念简单科普一下指针的概念: 声明和解引用取值
2024-12-01《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,,即可获取! BeanDefinition beanDefinition = new BeanDefinition(); //保存Class beanDefinition.setBeanClass(clazz); Service service = (Service) clazz.getAnnotation(Service.class); //获取该Service 名字 实际上 Spring有自动扫描 自动生成名字的一
2024-12-01一个复数是一个形式为a+bi的数,这里的a和b都是实数,i是√-1的平方根。数字a和b分别称为复数的实部和虚部。可以使用下面的公式完成复数的加、减、乘、除: 加:a + bi + c + di = (a + c) + (b + d)i 减:a + bi - (c + di) = (a - c) + (b - d)i 乘:(a + bi) * (c + di) = (ac -bd) + (bc + ad)i 除:(a + bi) / (c + di) = (ac + bd)/(c*c + d*d)
2024-12-01原文网址: 简介 说明 本文介绍Java后端项目如何不停机更新服务。 在生产环境中,一般都会每个服务部署多个实例。只要多于1个实例,就可以不停服更新应用。 思路:把要停机的那个应用的请求完全切断,将所有请求切到其他机器,停机的那个启动起来之后再允许请求。 不停服更新应用的作用 需求 本文假设解决此问题:微服务user有两个实例:user1和user2,需要在保证user服务不中断的情况下更新user服务。 方案概述 解决方案一般有:蓝绿发布、滚动发布、灰度发布。见: 方案1:使用Nacos的权
2024-12-01