- 博客(161)
- 资源 (5)
- 问答 (1)
- 收藏
- 关注
原创 2. SpringBoot + MQTT 门禁设备对接实战
源码地址: SynerTools 项目地址 (qq.com)首先,我们的 Spring Boot 服务充当一个客户端,而人脸识别设备的内置系统也作为另一个客户端。两个客户端通过 EMQX 服务端进行通信,负责指令的发送与接收设备名称: 人脸识别机MQTT协议对接文档 : 【免费】MQTT协议设备对接文档资源-优快云文库根据人脸录入流程图可以看出,我们的系统实际上是一个基于 Spring Boot 的考勤客户端。为了实现消息推送功能,我们需要借助 mica-mqtt 客户端来进行消息推送。这里我们以向设备推
2024-11-20 10:39:20
1042
原创 1.使用MQTT协议模拟向设备推送消息
当订阅的 Topic 过多时,如果并非所有的 Topic 消息都需要接收,您可以使用禁用功能避免再次订阅相同的 Topic。断开连接时,您也可以点击右边的配置按钮进行更多连接配置的修改。在 Topic 输入框中输入多个 Topic,使用逗号(,)进行分割,点击确认订阅成功后,订阅列表中会包含多个 Topic。添加完成后,点击订阅列表中的已订阅 Topic,可以实现消息过滤。注意,消息框内,右侧是发送的消息,左侧是接收到的消息。订阅成功后,就可以来测试消息的收发了。后,点击最右侧的发送按钮,就向刚才订阅的。
2024-11-20 10:30:20
1608
原创 面试官 : 你用过哪些Java工具类?
在Java开发的日常工作中,很多时候我们会借助工具类来简化操作,提升代码的可读性与可维护性。本文将为大家梳理Java中一些最常用的工具类,帮助你在项目开发中事半功倍。我们会从常见的commons库、http库以及Spring的工具类入手,逐步剖析每个工具类的功能和核心方法。
2024-08-22 14:36:37
1184
原创 2. springboot集成kafka入门使用教程
同步发送是指发送消息后等待Kafka的响应,确认消息已成功发送。这个方式的优点在于可靠性高,但缺点是会阻塞当前线程,影响系统的响应速度。异步发送是指发送消息后立即返回,不等待Kafka的响应,而是通过回调函数处理发送结果。这种方式不会阻塞线程,更适合高并发的场景。Kafka事务确保一组消息要么全部成功,要么全部失败,用于实现消息的原子性。适用于需要保证一致性的场景,例如订单处理。Kafka消息的接收是通过监听器实现的。监听器会自动接收指定主题的消息,并处理接收到的消息。
2024-08-16 15:21:08
657
原创 宝塔面板Java项目部署,五步轻松搞定
当涉及到正规的开发项目时,最终的上线部署是至关重要的一个环节。本文旨在以最简单便捷的方法来教你如何完成项目的部署工作。
2024-05-12 20:03:53
7984
1
原创 使用Java实现拼音模糊搜索功能(支持拼音、首字母、多音字、谐音字、汉字、阿拉伯数字)
Java实现的简单的工具类支持(拼音, 多音字, 谐音字, 汉字, 阿拉伯数字) 对标阿里钉钉的上方搜索栏实现的
2023-08-16 15:20:09
4393
3
原创 《Java视频面试实录:深入剖析大厂校招岗位挑战》
1. 什么是负载均衡?2. 一个浏览器的请求最终到达服务器, 在整个过程中哪些可以做负载均衡?3.什么是服务器的横向扩容和纵向扩容?4.什么是单元测试和集成测试?5.讲一下分布式和集群的概念?6.关系型数据库和非关系型数据库的区别?
2023-06-23 17:46:31
775
原创 [Java多线程-基础] 如何定位线程中的死锁问题?
下面提供的代码演示了死锁的情况。程序创建了两个线程,线程1和线程2,它们都试图以不同的顺序获取两个不同的资源,resource1和resource2。线程1首先获取resource1,然后等待resource2,而线程2首先获取resource2,然后等待resource1。这会创建一个死锁场景,其中两个线程都在等待另一个线程释放它们需要继续的资源。程序将不会终止,直到死锁得到解决。
2023-05-07 19:21:35
888
原创 [Java多线程-基础] 避免线程死锁问题(ReentrantLock的使用)
ReentrantLock 的设计初衷是为了提供一种比 synchronized 更加灵活和可控的锁机制。与 synchronized 相比,ReentrantLock 提供了更多的功能,如可重入性、公平锁和中断锁等,使得它在某些场景下更适用。具体来说,ReentrantLock 可以通过以下方式提供更好的控制和灵活性:1. 可重入性:允许线程多次获得同一个锁,避免死锁情况的发生。2. 公平锁:可以实现公平的锁分配机制,避免某些线程长期无法获取到锁而产生的饥饿问题。
2023-04-30 20:49:03
1384
原创 MySQL 使用索引和不使用索引的区别(附17W条数据SQL文件)
MySQL 使用索引可以减少查询的时间,而不使用索引的查询会更加耗时,因为MySQL需要扫描整个表。此外,使用索引可以提高查询的性能,同时也可以提高查询的可读性和可维护性。换句话来说, 使用索引后就是兰博基尼🚗, 不使用索引就是电动三轮车🚲
2023-03-07 09:29:43
1679
1
原创 使用Docker部署SpringBoot项目(Maven/Gradle)教程
⏬下载docker客户端⏬下载IDEA的docker插件💻Windows环境部署SpringBoot项目打包(maven/gradle)maven项目打包2. gradle项目打包配置DockerFile文件 (maven/gradle)✅配置运行dockerfile📀线上docker服务器打包📃IDEA日志乱码
2023-03-07 08:49:27
1511
原创 推荐五款在手机上写代码的APP(附下载地址)
一个直接在 Android 设备上开发 Android 应用的集成开发环境基于原版深度定制、适配本土化的操作习惯,一键快速添加常用的代码,大幅提高开发效率。实时的语言翻译,帮助不会英文的人快速入门,新增护眼模式,让你沉浸享受深夜编程的乐趣。更多工具,图标中心、Java/Xml代码转义、Json2Bean、工程转换、系统资源查看及指定类分析等。更多功能,启用Gradle、SDK、NDK、JDK支持、R资源混淆、Str字符串加密、dex分包、adrt调试等。
2023-02-27 13:32:51
11606
3
原创 线上MySQL服务被删除, 遭遇黑客比特币勒索
1.加强数据库服务器安全防范,确保服务器账号及密码安全,防止不法入侵;2.设置MySQL账号使用权限,不得使用ROOT账号进行数据库操作;3.使用双重认证,双因素认证来保护数据库;4.实施备份措施,定期备份数据,以便出现问题可以快速恢复;5.监控日志,定期搜索异常行为并对其进行审计;6.对来自某个特定地址的网络连接进行防火墙保护等。扫描下方公众号二维码领取125套简历模板👇👇👇。
2023-02-23 15:10:09
1276
原创 Windows启动docker客户端报错:Hardware assisted virtualization and enabled in the BIOS
🌟3.Windows功能中没有Hyper-V复选框怎么办?(如果有请跳过此步骤)此时不同人的电脑还会出现没有Hyper-V选1.打开 Windows PowerShell,输入 systeminfo 命令能够看到出现了很多处理器的信息,最末尾有个 Hyper-V 要求,如果四个全为 “是”,则表示支持 Hyper-V 功能
2023-02-21 10:39:58
880
原创 [java-面试]初级、中级、高级具备的技术栈和知识点
1. Java基础知识:语法、包装类、泛型、数据结构和继承,以及基础API。2. Java开发工具:如Eclipse,NetBeans,Maven等。3. Java Web开发技术:如Servlet,JSP,Struts,Spring,Hibernate,AJAX等。4. 数据库:MySQL,Oracle,SQL Server等。5. 编程思想:设计模式,分析和解决问题的能力,代码优化等。6. 软件测试:自动化测试,单元测试,功能测试等。7. 其他:熟练掌握版本控制工具,如Git,网
2023-02-16 15:48:14
1701
原创 rabbitmq和mqtt区别
1. RabbitMQ : 是一个支持AMQP协议的消息中间件,用于在多个应用程序之间传递消息。它有助于分发任务,协调过程,实现异步通信。2. MQTT : 是一种轻量级的发布/订阅消息协议,用于在网络连接的设备之间传递消息数据。它使用基于可移植的文本协议,可以节约带宽和电力,帮助物联网开发人员在受限网络中运行应用程序。
2023-02-15 17:52:25
7794
2
原创 【Java多线程-常用API】wait与notify的使用
Owner线程发现条件不满足,调用wait方法,即可进入WaitSet变为WAITING状态BLOCKED和WAITING的线程都改处于阻塞状态,不占用CPU时间片BLOCKED线程会在Owner线程释放锁时唤醒WAITING线程会在Owner线程调用notify或notifyAll时唤醒,但唤醒后并不意味者立刻获得锁,仍需进入EntryList重新竞争
2023-02-01 14:04:54
256
原创 [Java-多线程] 锁原理(轻量级锁、锁膨胀、自旋锁、偏向锁)
我们平时使用的对象都是由两部分组成, 第一部分是对象头, 第二部分是对象的成员变量, 这里我么主要讲解对象头, 以32为虚拟机为例 :Klass Word : 每个对象都有类型 通过Klass Word就可以找到对应的类对象StateNormal (普通的)BiasedLightweight Locked (轻量级锁定)Heavyweight Locked (重量级锁定)| 11数字 01 代表的是加锁状态位。
2023-01-27 13:09:57
552
原创 多线程Monitor工作原理
我们都知道synchronized的作用是用来保证修饰的代码或者方法执行有且只有一个线程执行,也就是锁。那么在执行被锁住的方式时,synchronized就需要通过monitor来记录和保证锁的状态。所以monitor这里的作用其实就是起到了控制synchronized什么时候获取锁,什么时候释放锁,以及记录了锁被重用的次数。🍎。
2023-01-12 21:52:01
1503
原创 程序员如何在职场上走得更远一些?
首先第一个要聊的啊就是这个心态的问题,我觉得有时候可以改变一下自己的心态,可以尝试把工作当成一种投资,或者说呢把工作当成一种自己的产品来经营,把目光多多的聚焦在这个收获和成长上面啊这样一个心态来应对,我想要什么? 我能从中学到什么? 我能从中获得什么? 我可以提供什么价值? 因为如果我们把目光集中在自己身上,我们的内心呢就会平和一些,就不容易被一些其他的一些这个无关的因素所干扰,也会有助于自己的稳住心态,从而做出一些成绩。 而不是说在某一段工作旅程结束之后,只留下抱怨愤怒和遗憾,所以有了这样一个坚定且平
2023-01-02 09:15:38
528
转载 Java探针 Instrumentation
我们知道只要是java程序,运行的入口就一定是main方法。Java探针技术相当于变相的改变了这个约定,提供了一种外挂,只要用了这个外挂(即在程序的运行时参数中加了-javaagent),就可以先执行外挂jar包中的premain方法,然后再执行原程序中的main方法。这样就提供了一个在真正的程序执行前,可以修改并重新加载字节码的机会。作者:whslowly链接:https://www.jianshu.com/p/90f149d6cf95来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商
2022-12-24 21:03:24
361
原创 Java泛型的作用以及如何使用(继承、接口、方法、通配符) 附源码
E- Element (在集合中使用,由于集合中存放的是元素),E是对各方法中的泛型类型进行限制,以保证同一个对象调用不一样的方法时,操做的类型一定是相同的。E能够用其它任意字母代替T- Type(Java 类),T表明在调用时的指定类型。会进行类型推断K- Key(键)V- Value(值)N- Number(数值类型)
2022-12-14 22:45:11
2034
原创 如何使用DNS加速你的浏览器访问速度?
我们在登录QQ的时候是直接访问的腾讯的服务器, 在下载好的QQ客户端已经帮你配置好了所有的IP, 所有没有域名解析的操作, 所以可以正常的登录。
2022-12-11 20:40:19
1282
原创 [Redis-实战] 企业常用的缓存使用方案(查询、更新、击穿、穿透、雪崩) 附源码
下面我们以查询店铺为例, 因为店铺列表是不经常改变的数据, 所以我们可以请求redis缓存来降低MySQL的查询压力 🍩 缓存更新策略在常规的企业开发中,我们优先选择的缓存策略是 更新数据库的同时也会去更新缓存在此情况下我们也要考虑三点 : 🍭 缓存穿透代码实现如下, 当在数据库没有查询到后, 将空信("")息存入到Redis中,并设置过期时间为2分钟, 当用户再次查询时, 校验如果为("") 直接返回 店铺信息不存在!🍣 缓存雪崩🍕 缓存击穿🍥
2022-12-04 16:49:21
1147
2
原创 postman汉化教程(历史老版本)
目录 : 1. 下载对应版本的postman 2.替换url中对应的版本号3.下载postman对应版本的汉化包4.打开postman文件位置5.打开后寻找 app-9.12.2/resources 目录 然后将下载好的压缩包解压6.重启postman即可汉化成中文了7. 汉化包下载地址历史版本下载请把下面链接的"版本号"替换为指定的版本号,例如:8.8.0Windows64位Windows32位Mac Intel ChipMac Apple ChipLinuxReleases · hlmd/Postma
2022-12-01 18:00:50
12467
2
原创 大白话讲解TCP三次握手与四次挥手
对于TCP和UDP这两种协议, 做程序员的我们都应该有所耳闻, 我们平常的做的浏览网页, 看直播, 发微信这些操作, 都是通过这两种协议进行数据传输的当然数据的格式会有很多种, 例如视频(MP4), 图片(jpg)等等, (TCP/UDP)协议的最大区别是 一个基于连接, 另一个基于非连接, 下面我们举一个简单的例子来讲解, 我们以写信和打电话为例
2022-11-21 08:30:00
551
原创 [Redis-实战] 使用双拦截器实现短信验证码登录
项目链接: https://pan.baidu.com/s/1x2T7_zFA6LCRcYMOVo78pQ提取码: ge9k。思路 : 这里我们的采用两个拦截器来实现, 拦截器1主要实现路径拦截, 拦截器2主要负责token刷新并通过 .order(顺序) 来设置执行拦截器的顺序, 数字越小的越优先执行
2022-11-17 21:48:01
643
原创 springboot项目读取 .yml 配置文件,springboot中static静态变量读取yml文件配置
【代码】springboot项目读取 .yml 配置文件,springboot中static静态变量读取yml文件配置。
2022-11-14 17:13:35
2069
2
原创 SpringBoot基于Session实现短信验证码登录
链接: https://pan.baidu.com/s/1LkJDNwV5THPoywbEX6Gpyg提取码: gajm
2022-11-13 18:42:32
1386
转载 教你使用 Flowable 三种常见网关
Flowable 中网关类型其实也不少,常见的主要有三种类型,分别是:排他网关并行网关包容网关这三个里边最常用的当然就是排他网关了,今天松哥就来和小伙伴们聊一聊这三种网关,一起来体验一把这三种网关各自的特征。
2022-10-25 21:18:15
5765
2
原创 初级程序员必会的Java注解用法
下载源码配合教程看有助于理解链接: https://pan.baidu.com/s/1RzpRWh8O-5LmvG1H1cVJYA提取码: tged
2022-10-24 08:30:00
264
原创 [Redis-客户端] RedisTemplate与StringRedisTemplate
🥞1. 项目源码🥞链接: https://pan.baidu.com/s/1iv2_vqLuLkJ-MhSw6VMMHw 提取码: m7cw
2022-10-07 11:59:07
1591
原创 Redis 可视化工具 Mac中文版
链接: https://pan.baidu.com/s/1PZWm-rGEWHf5S-h2AVOm9A提取码: w684
2022-10-06 18:21:29
5492
8
MQTT协议设备对接文档
2024-07-01
推荐五个手机编程的app软件
2023-02-27
JAVA面试核心知识点整理(0积分下载).pdf
2022-12-02
常见面试题 :分布式+微服务+MYSQL+Redis+JVM+Spring等等(0积分下载)
2022-09-25
Java常用的反射方法
2022-09-24
EsayExcel在业务层中获取表头源码(0积分下载)
2022-09-17
为找工作的小伙伴准备的125套简历模板(0积分下载)
2022-09-10
Typora 最后一个免费的版本 0积分下载
2022-07-13
Typora免费版本0.11.18
2022-04-19
Java 如何提高递归树结构的查询效率(7层级)
2022-08-30
docker参照数据卷目录, 但未找到该路径
2022-08-16
TA创建的收藏夹 TA关注的收藏夹
TA关注的人