切换语言为:繁体

SpringBoot中基于XXL-JOB实现大...

场景一个应用需要支持大量数据的批处理任务,要求:并行处理能力:应用需能够同时处理多个数据块,即实现并行处理。灵活的并发控制:可以灵活调整并行处理的任务数量,以确保资源利用最大化且不过载。均衡负载分配:应将任务均匀分配到不同的服务器节点...

SpringBoot基于延迟队列 + 事件发布...

本文主要记录了在springboot中通过事件发布机制+延迟队列实现定时任务的需求,主要内容有:如何使用Spring的事件发布机制使用延迟任务实现定时功能实现的思维导图如下:事件发布机制事件发布机制需要实现三个角色,分别为事件的发布者...

SpringBoot接入Gmail邮箱验证

Spring Boot后端接入国际邮箱验证技术文档在全球化的互联网服务中,邮箱验证是一个重要的环节,尤其在注册、密码重置等场景中。Spring Boot作为Java后端开发的首选框架,可以通过SMTP协议轻松集成国际邮箱验证服务。本文...

Java序列化、反序列化、反序列化漏洞

1 序列化和反序列化1.1 概念Java 中序列化的意思是将运行时的对象转成可网络传输或者存储的字节流的过程。而反序列化正相反,是把字节流恢复成对象的过程。1.2 序列化可以做什么?持久化存储:将对象状态保存到存储设备(如硬盘)中,以...

Redis 的 Java 客户端有哪些?官方推荐哪个?

Redis 的 Java 客户端有哪些?官方推...

Redis 官网展示的 Java 客户端如下图所示,其中官方推荐的是标星的3个:Jedis、Redisson 和 lettuce。Redis 的 Java 客户端中,Jedis、Lettuce 和 Redisson 是最常用的三种。以...

实际测试 SpringBoot 处理1 次 Http请求需要消耗多少服务器内存?

实际测试 SpringBoot 处理1 次 H...

在实际工作中,经常会需要进行在全链路压测,优化 GC参数,优化 JVM 内存分配。当知道 1 次 RPC 请求和 Http 请求需要的堆内存大小后,你可以精确地计算:指定的并发量之下,系统需申请多少堆内存。同时结合 JVM 新生代堆大...

实际场景的SpringBoot项目实现的限流方案

实际场景案例假设你正在构建一个电子商务平台,该平台每天会有大量的用户在特定的时间段(如促销时)同时下单。这些订单请求会同时涌入服务器,如果没有有效的流量控制,服务器可能会被瞬时过载,导致崩溃或响应延迟。为了避免这种情况,你决定使用“削...

你写的深拷贝函数不会还不支持循环引用吧!

浅拷贝与深拷贝浅拷贝浅拷贝是指创建一个新对象,其中复制的是原对象的第一层属性值。对于原对象的基本数据类型,浅拷贝会直接复制它们的值;而对于引用类型,浅拷贝只复制引用,即新对象的属性和原对象的属性指向同一个内存地址。这样,如果修改引用类...

Java线程池遇到未处理的异常会崩溃吗?

Java线程池遇到未处理的异常会崩溃吗?

首先,这个问题考察的是你对线程池 execute 方法和 submit 方法的理解,在 Java 线程池的使用中,我们可以通过 execute 方法或 submit 方法给线程池添加任务,但如果线程池中的程序在执行时,遇到了未处理的异...

使用注解实现BigDecimal的四舍五入

在开始写代码之前,我们需要先了解下BigDecimal有哪几种小数位的截取方式关于“截取”那些事儿想要了解 BigDecimal 是如何处理小数位截取的,我们需要看下 RoundingMode 这个类:public static vo...