SpringBoot整合RabbitMQ实现邮件异步发送(修正版)
在之前的文章中,我们详细介绍了 SpringBoot 整合 mail 实现各类邮件的自动推送服务。
但是这类服务通常不稳定,当出现网络抖动的时候,会导致邮件自动…
JAVA:集成 Drools 业务规则引擎的技术指南
1、简述
Drools 是一个强大的业务规则引擎,适用于需要动态决策或规则管理的场景。它允许开发人员将业务逻辑与应用代码分离,使得业务人员可以通过规则文件维护和…
SpringBoot 整合 Mybatis 实现数据表增删改查,保姆级教程!
01、背景介绍
在上一篇文章中,我们介绍了利用 Spring Boot JPA 来实现对数据库的访问操作,虽然它在国外广泛流行,但是在国内流行程度远不如 My…
SpringBoot 整合 JPA 轻松搞定数据表增删改查!
01、背景介绍
在之前的文章中,我们介绍了通过JdbcTemplate来实现数据库的访问和读写操作。当有一定的开发经验之后,你会发现所有涉及到数据库操作的代码…
推荐几款实用的 GC 日志可视化分析工具!
01、背景介绍
通常情况下,运维人员并不会直接在服务器端通过命令方式实时打印当前应用程序的 GC 日志来分析服务的性能,通常的做法是导出当前服务的 GC 日志…
SpringBoot 开发 Web 系统,快速入门指南!
01、背景介绍
在之前的文章中,我们简单的介绍了 SpringBoot 项目的创建过程,了解了 Spring Boot 开箱即用的特性,本篇文章接着上篇的内容…
一小时徒手从0到1搭建一套图片文字识别的OCR平台
在我们日常的工作学习中,图片中的文件识别功能是非常常用的(如用户上传的图片做风控)。我们根据面向的对象不同,一般可以分成两类:
(1)面向普通用户;现有的图片文…
Docker,开发人员必会的工具之一
在日常开发中,很多公司的微服务应用或一些常见的中间件都采用通过docker来部署的,今天我们来聊聊docker的那些事。
1、认识docker
docker可以…
线上Java应用导致CPU占用率过高的排查和解决方案
在我们日常开发中,如果Java程序在运行中占用大量的CPU资源,此时就会导致系统性能急剧下降、系统的响应变慢甚至会导致系统由于大量请求打过来而承受不住进而崩溃。…
如何使用Spring状态机优雅的管理复杂流程之间的状态变更
在我们的实际项目中经常会遇到一些多流程之间的状态变更问题,典型如订单状态的变更,如下所示的是事件与订单的状态变更的关系图:
每当触发一个事件之后订单的状态就发…
Java对象都是堆上分配?看完Java中对象逃逸分析就知道答案了
随着JIT编译期的发展与逃逸分析技术逐渐成熟,所有的对象都分配到堆上也渐渐变得不是一定的。在编译期间JIT会对代码做很多优化,其中有一部分优化是减少内存堆分配压…
3分钟理清Java对象头里面的那些杂事
对象头是一个对象用于保存自身状态的区域,在HotSpot虚拟机中,对象在堆内存中存储的布局可以划分为三个部分:对象头(Header)、实例数据(Instance…
线上JVM OOM问题,如何排查和解决?
JVM(Java虚拟机)中的内存不足错误(Out of Memory Error, OOM)是许多Java开发者在生产环境中遇到的常见问题。这个问题可能出现在不…
Java 日志组件@Slf4j 介绍及配置详解
1 基本介绍
每一个Java程序员都知道日志对于任何一个Java应用程序尤其是服务端程序是至关重要的,而很多程序员也已经熟悉各种不同的日志库,如java.uti…