自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 【EMQX实践】如何感知设备上下线?

当消息发布到这个主题时,EMQX会按照特定的分发策略(如随机、轮询、粘性、哈希等)将消息分发给共享组中的一个客户端,确保每个消息只被一个客户端接收并处理。EMQX在此场景中属于设备连接网关关键节点,EMQX不紧紧只是消息中间件的作用,我们更需要监控哪些设备什么时候连接上线,又在什么时候断开下线。在MQTT协议中,当设备客户端连接或断开与EMQX服务器的连接时,EMQX会发布相应的上下线事件到特定的系统主题。您可点击 File 数据源对应的操作栏下的 设置 按钮查看或更改 ACL 文件中配置的授权规则。

2024-05-11 14:40:59 618 2

原创 final、finally、finalize有什么区别?

由于final变量一旦初始化后不可再赋新值,所以在多线程环境下,程序员可以不必为final变量的同步操心,这无疑减轻了同步控制的负担,同时也规避了进行不必要的防御性复制操作,进而提升了代码的简洁性和效率。通过Cleaner,开发者可以确保在对象被垃圾收集器最终回收之前,操作系统级别的资源(如文件描述符等)得到妥善释放,从而降低了资源泄露的风险,并提高了程序的整体健壮性和稳定性。在后续的教程或专栏中,将进一步详细介绍Java中各种引用类型,包括幻象引用及其在资源回收中的具体应用。

2024-04-30 22:21:10 1014

原创 Spring AI 来啦,快速上手

Spring AI项目的推出,为Java企业级应用带来了新的发展机遇。它将AI技术与Spring框架完美融合,简化了AI功能的集成过程,让开发者能够更高效地构建智能化应用。Spring AI不仅提供了丰富的工具和库,还集成了NLP、机器学习等核心功能,降低了开发者使用AI技术的门槛。随着AI技术的不断发展和普及,Spring AI有望为开发者打开更多创新的大门,推动软件行业的持续进步。未来,Spring框架将继续引领企业级应用开发的潮流,与AI技术共同创造更多价值,为企业创造更大的竞争优势。

2024-04-29 18:21:27 559 1

原创 EMQX 实践

任何新的订阅者订阅与该保留消息中的主题匹配的主题时,都会立即接收到该消息,即使这个消息是在它们订阅主题之前发布的。默认情况下,消息会被转发给所有匹配的订阅者。EMQX Dashboard 提供了开箱即用的认证与权限管理功能,用户仅通过用户界面,就可以快速实现客户端认证授权机制的配置,无需编写代码或手动编辑配置文件,即可对接各类数据源与认证服务,实现各个级别与各类场景下的安全配置,以更高的开发效率获得更安全的保障。在发布消息的客户端和订阅的客户端之间充当中介,将所有接收到的消息转发到匹配的订阅客户端。

2024-03-17 19:33:35 1154 1

原创 EMQ X 快速入门

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)是一种轻量级的、基于发布/订阅(publish-subscribe)模式的消息中间件通信协议,特别适合于资源有限的设备和网络带宽受限的环境。该协议由IBM公司在1998年设计并开发,现已成为物联网(IoT)、机器对机器(M2M)通信、移动应用以及实时数据传输等领域广泛应用的标准之一。主要用于物联网(IoT)、移动互联网以及远程传感器等低带宽、高延迟、不可靠网络环境下的通信。轻量级协议。

2024-03-16 21:01:35 1299

原创 Exception和Error有什么区别?

在面试过程中,面试官往往会针对这些细节进行进一步的询问。例如,他们可能会问到你对哪些特定的Error、Exception或RuntimeException有所了解?为此,我精心绘制了一个简洁的类图,并列举了一些典型的例子,供你参考。通过熟悉这些例子,你至少能够对Throwable、Exception、Error的基本分类和常用子类有一个清晰的认识。在这些子类型中,有些特别重要,需要重点理解。

2024-03-15 16:42:02 892

原创 MQTT BROKER 技术选型

每个 MQTT Broker 都有其独特的优点,适合不同的部署场景。EMQX 具有高扩展性和企业级功能,适合在云端部署,EMQX 社区活跃。

2024-03-15 09:39:35 1044

原创 Windows安装EMQX

EMQX 是一款高性能、分布式且针对物联网 (IoT) 场景优化的 MQTT 消息中间件。它由 EMQ Technologies 开发,支持大规模设备连接,并提供了丰富的功能集以满足现代 IoT 通信需求。

2024-03-14 14:52:42 3223 3

原创 刚入职Java开发需要准备或了解什么软件?

关于入职的java开发的实习生或者毕业生,可能对职场中java开发实质使用的软件及开发流程都不是很熟悉,加上周边环境比较生疏,造成入职一段时间都比较拘谨和不知道该主动去了解什么。

2024-03-13 14:37:04 1054

原创 新上线的tcp网关服务业务日志中出现“Connection reset by peer”的错误

由于TCP协议对上层业务的状态无感知,同时,为了降低健康检查成本以及对后端服务的冲击,CLB针对TCP监听的健康检查只进行简单的TCP三次握手,而后直接发送RST数据包断开TCP连接,没有进一步的业务数据交互,导致上层业务认为连接异常,如Java连接池等,所以抛出Connection reset by peer异常。设备连接服务域名修改成临时的公网IP,重新连接TCP服务。设备可以正常和服务通信,并且不会自动断开。部署TCP服务,对外暴露端口号,提供给设备连接,实现设备和服务双向通信。

2024-03-12 20:06:03 546

原创 【实战】gateway开始动态路由报错404

通过debug网关服务FilteringWebHandler类排查问题,发现gateway 开启动态路由(spring.cloud.gateway.discovery.locator.enabled: true),并且该路由的优先级(order=0),高于配置的目标(order=1),所以该路由先于配置的路由拦截请求,转发到了错误的uri路径上。所以: /demo-server/demo/test/gateway/yaml 被转换成 /demo/test/gateway/yaml 就报404。

2024-01-02 18:27:39 2443

原创 【实战】gateway结合nacos报错503 Service Unavailable

gateway 开启动态路由 spring.cloud.gateway.discovery.locator.enabled: true。请求通过gateway代理的接口报错( “status”: 503,“error”: “Service Unavailable”)。

2024-01-02 10:24:50 693

原创 微服务全家桶之Spring Cloud Gateway 入门篇

网关组件在微服务架构中被引入作为请求的入口点。网关可以集中处理一些基础的请求预处理逻辑,从而避免了在各个业务服务中重复实现这些功能。这使得业务服务能够专注于处理核心业务逻辑,提高了系统的效率和可维护性。此外,引入网关作为统一请求入口之后,还可以利用网关实现其他功能,例如服务保护和灰度发布等。通过网关的集中管理和控制,可以实现更加灵活和强大的系统功能。

2024-01-01 14:02:25 505

原创 微服务全家桶之Windos安装Nacos

Nacos 依赖 Java 环境来运行。修改conf目录下的application.properties文件。中找到每个版本支持的功能的介绍,当前推荐的稳定版本为2.2.3。您可以在Nacos的。

2023-12-28 18:36:25 381 1

原创 微服务全家桶之大话Spring Cloud

pring Cloud Alibaba 是阿里巴巴结合自身丰富的微服务实践而推出的微服务开发的一站式解决方案,是 Spring Cloud 第二代实现的主要组成部分。吸收了 Spring Cloud Netflix 微服务框架的核心架构思想,并进行了高性能改进。自 Spring Cloud Netflix 进入停更维护后,Spring Cloud Alibaba 逐渐代替它成为主流的微服务框架。

2023-12-27 17:23:46 930 1

原创 GraalVM之SpringBoot3入门详解

Spring Boot 3.0 应用现在可以支持转换为 GraalVM 原生镜像了,这可以提供显著的内存和启动性能改进,能支持 GraalVM 原生镜像也是整个 Spring 产品组合中的一项重大能力的提升。Spring Boot 3.0 这是一个重大的主版本更新,距离上一代的 Spring Boot 2.0 的发布已经过去 4 年多了,Spring Boot 3.0 也是第一个支持 Spring 6.0+ 和 GraalVM 的 Spring Boot 正式版本。

2023-12-20 16:50:25 414 1

原创 GraalVM之Windows详细安装及使用教程

GraalVM是Oracle开源的一款通用虚拟机产品,被誉为新一代的通用多语言高性能虚拟机。它可以运行多种编程语言,如Java、JavaScript、Python等,并提供了即时编译(JIT)和AOT编译(AOT)的支持。GraalVM还支持在不同语言之间互相调用,以及嵌入到其他应用程序中使用,这使得GraalVM成为一个非常强大和灵活的工具,可以满足不同应用场景的需求。高性能:GraalVM的JIT编译器可以生成优化的本机代码,从而提高应用程序的运行速度和垃圾回收效率,降低CPU使用率。

2023-12-19 17:10:09 848 1

原创 Mybatis中时间类型筛选查询报错_invalid comparison_ java.time.LocalDateTime and java.lang.String

Mybatis中时间类型筛选查询报错:invalid comparison: java.time.LocalDateTime and java.lang.String

2023-09-19 20:14:34 263 1

原创 记一次canal线上问题(Could not find first log file name in binary log index file)

canal服务Could not find first log file name in binary log index file问题解决方案。

2023-09-01 23:44:37 113 1

原创 如何把自定义jar上传到Maven中央仓库

在现实Java微服务开发中,经常需要抽取一些通用的接口或者公共的方法类,并打包成jar提供给其它服务使用。对开源架构进行二次封装,并通过springBoot的Starter,作为公司基础架构。通常这些jar都会被推送到公司的私服nexus中。但是作为个人开发者,我们没有那么都资源取搭建自己的私服nexus,但是我们又有公共或者基础架构的jar。所以我们需要把jar推送至maven中央仓库,并提供自己项目依赖。本文从0到1实现自定义jar上传到Maven中央仓库。

2023-08-28 23:01:49 245 1

原创 从0到1快速构建Java项目脚手架

主流的微服务架构体系下,需要按照模块(商品、订单、用户、活动、管理后台……)、按照领域驱动设计等进行拆分成很多的微服务项目,并分配给不同的人负责。如果每个人都一个一个去创建微服务其实是在做重复的工作容易出错而且没有意义,浪费人力物力。如果这个时候基础性的 springboot,springcloud,springcloud-alibaba,MyBatis-Plus, Redis,rocketmq, Hutool, Swagger-UI,SnowFlake-redis等在项目创建时一起生成.

2023-08-11 16:45:06 1765 1

原创 Synchronized 详解

synchronized 详解及面试题集

2023-05-08 09:58:46 276

原创 Java线程生命周期详解

Java 线程基础详解及面试问题汇总

2023-05-06 16:46:43 50

原创 线程池,面试问题集

线程池详解及面试问题集

2023-05-06 11:24:14 90

原创 Spring的@Transactional 声明式事务失效场景

声明式事务失效场景

2023-03-07 15:24:38 317

原创 Hibernate - Write operations are not allowed in read-only mode 解决方案

当使用 Spring OpenSessionInViewFilter并尝试在 Spring 管理的事务之外执行持久性操作时,通常会看到该错误消息。当 Spring 事务机制开始一个事务时,它将刷新模式更改为“COMMIT”。事务完成后,它会根据需要将其设置回 NEVER/MANUAL。默认值为“true”,表示在只读事务中尝试写入操作时的快速失败行为。关闭此选项以允许在刷新模式为手动的会话上保存/更新/删除。设置写入操作(保存/更新/删除)时是否检查Hibernate会话是否处于只读模式。

2023-03-06 17:43:16 364

原创 一文详解LinkedList

LinkedList 重要源码解读,面试题讲解

2023-02-25 15:45:49 215

原创 postgreSQL 创建分区实践

postgreSQL 函数创建分区实践,实践中问题分析

2023-02-24 16:58:40 2742

原创 一文详解ArrayList

一文详解ArrayList,ArrayList概念、源码、面试题

2023-02-09 15:39:47 322 1

原创 maven pom

maven pom xml 常用标签

2022-06-11 16:17:09 72

原创 rabbitMQ

erlang 安装rabbitmp 官方精简,0 依赖 rpm 包https://github.com/rabbitmq/erlang-rpmGit Hub下载链接下载:wget https://github.com/rabbitmq/erlang-rpm/releases/download/v21.2.6/erlang-21.2.6-1.el7.x86_64.rpm安装:rpm -...

2019-09-01 08:52:25 140 1

原创 redis

1.什么是redis?   REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(Stri...

2019-09-01 08:32:02 71

idea使用文档.zip

idea入门学习. Intellij IDEA作为现在Java开发主流的工具,是必须要掌握的。因此,好好研究它是很有必要的。

2019-09-10

空空如也

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

TA关注的人

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