BigDecimal 类使用过程中的四个常见陷阱,请别再这么使用了!
BigDecimal 类使用过程中的四个常见陷阱,请别再这么使用了!
|
陷阱 1:使用 double 构造函数在日常使用 Java 中进行业务计算,尤其是涉及货币,金额时,建议使用 BigDecimal 类,以避免使用 float 或 double 等原始类型所遇到的浮点数运算精度问题。请看下面这个例子:BigDecimal x = new BigDecimal(0.1
彻底搞懂 CompletableFuture 的 6 个“隐藏坑”!
彻底搞懂 CompletableFuture 的 6 个“隐藏坑”!
|
彻底搞懂 CompletableFuture 的 6 个“隐藏坑”!在日常开发中,CompletableFuture 早已成为我们写异步程序的好帮手。不过,它虽然香,但也容易踩坑。今天我就给大家盘一盘 CompletableFuture 的几个使用误区,附带解决方案与实战代码,让你用得安心、调试不烦
Spring在多线程环境下如何控制事务?
Spring在多线程环境下如何控制事务?
|
面试经典题: 事务方法中新创建的线程是否受 Spring 事务管理?结论:不会。Spring 事务是基于 ThreadLocal 存储事务上下文的,而 ThreadLocal 变量在线程之间 不会共享,所以新线程无法感知当前事务。为什么不会受 Spring 事务管理?Spring 事务的管理依赖 T
Java程序打包为exe可执行文件: jpackage 命令使用
Java程序打包为exe可执行文件: jpackage 命令使用
|
环境准备首先jpackage 命令需要JDK14以上,请自行配置Maven的编译环境,以下图片是配置IDEA的Maven编译环境其次 打包exe需要用一个Maven插件maven-easypackage-plugin<plugin> <groupId&
Spring Boot性能提升的核武器!
Spring Boot性能提升的核武器!
|
虚拟线程是 Java 21 引入的一个新特性,用于简化并发编程。它与传统的操作系统线程相比,具有显著的优势:轻量级:虚拟线程由 JVM 管理,而非操作系统,因此它们的内存占用和创建成本远低于传统线程。理论上,你可以轻松创建数十万甚至更多的虚拟线程。高并发性:虚拟线程能处理更高并发的场景,特别是 I/
Java敏感词检测工具
Java敏感词检测工具
|
Java |
0 评论
一、使用步骤代码开源地址https://github.com/houbb/sensitive-word1)引入 Maven 依赖引入最新的版本即可,见附录开源地址。<dependency>   <groupId>com.github.houbb</groupId>
Springboot快速集成接口加解密
Springboot快速集成接口加解密
|
在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。https://gitee.com/isuperag/rsa-encrypt-body-spring-boot❞项目介绍该项目
基于SpringBoot的高并发场景下请求合并
基于SpringBoot的高并发场景下请求合并
|
前言请求合并到底有什么意义呢?我们来看下图。假设我们3个用户(用户id分别是1、2、3),现在他们都要查询自己的基本信息,请求到服务器,服务器端请求数据库,发出3次请求。我们都知道数据库连接资源是相当宝贵的,那么我们怎么尽可能节省连接资源呢?这里把数据库换成被调用的远程服务,也是同样的道理。我们改变
三种解决Spring Boot跨域方案
三种解决Spring Boot跨域方案
|
前后端分离大势所趋,跨域问题更是老生常谈,同时也是各位前后端分离开发过程中必须要解决的问题,随便用标题去Google或百度一下,能搜出一大片解决方案,但是很多方案都模棱俩可,有的说改前端有的说其他的配置,或者不知所云问题背景Same Origin Policy,译为“同源策略”。它是对于客户端脚本(
使用Google Guava快乐编程
使用Google Guava快乐编程
|
Java |
0 评论
目前Google Guava在实际应用中非常广泛,本篇博客将以博主对Guava使用的认识以及在项目中的经验来给大家分享!正如标题所言,学习使用Google Guava可以让你快乐编程,写出优雅的JAVA代码!以面向对象思想处理字符串:Joiner/Splitter/CharMatcherJDK提供的