最近把以前封装的SpringBoot 2.x代码升级到3.x,发现Servlet相关的包的命名空间从javax改变为了 jakarta。SpringBoot为什么会做如此大的破坏性更新,看了下Spring Boot 3.0的更新日志,有一条更新日志是:从JavaEE迁移到Jakarta EE
JDK8 已经不知道用了多少个年头了,一直遵循着“新版任你发,我用Java 8”的中心思想。这几天帮老婆搭最新版本的Jenkins,发现JDK8已经不支持了,加之最近也想把自己封装的框架升级到SpringBoot3,SpringBoot3的最低依赖就是JDK17,跨过 JDK 8-16。这里收集整理
在面试时遇到“MyBatis中#与$的区别”这个问题的时候,99%的人首先想到的一定是${xxx}不会对参数进行预编译,存在SQL注入风险。在昨晚的一个版本发不上踩了“${xxx}”的坑,排查了近 6 个小时。 背景 昨晚的版本发布中,一个查询接口在测试环境运行良好,发布到生产环境后查询耗时 10
我们在使用 PageHelper 进行大表关联查询分页列表时,经常出现查询分页数据并未执行很久,但自动 count 开销非常大。这是因为 PageHelper 的分页拦截器在计算总记录数时,是在原语句上嵌套一层,比如: SELECT count(1) FROM (主SQL) 这个主 SQL 是没有
摘录自并发编程网的《Java 并发之 Fork/Join 框架》。 什么是 Fork/Join 框架 Fork/Join 框架是一种在 JDK 7 引入的线程池,用于并行执行把一个大任务拆成多个小任务并行执行,最终汇总每个小任务结果得到大任务结果的特殊任务。通过其
settings.xml 是 Java 项目中用于配置 Maven 的重要文件,它详细规定了 Maven 的运行规则和行为。该文件通常位于用户家目录下的 .m2 文件夹中,或者项目根目录下的. mvn 文件夹内。settings.xml 中包含了众多配置项,从代理设置、镜像仓库配置,到服务器认证信息
在Maven中,pom.xml是必不可少的配置文件,它定义了项目的各种属性和依赖关系。 一、什么是POM pom.xml 是 Maven 项目的核心配置文件,它是 项目对象模型 - Project Object Model(POM)的缩写。POM定义了项目的所有属性,包括项目的名称、版本、依赖关系、
JAVA 支持所有的加密套件,但是由于美国的出口限制的原因,JDK 发行版本中加解密有一定的限制,比如默认不允许 256 位密钥的 AES 加解密,解决方法就是修改策略文件。Oracle 允许下载强加密的未限制版本,其实就是几个 jar 包形式的策略文件(local_policy.jar、US_ex
转载自《[译]Java中整型的缓存机制》。 一、示例代码 本文将介绍Java中Integer的缓存相关知识。这是在Java 5中引入的一个有助于节省内存、提高性能的功能。首先看一个使用Integer的示例代码,从中学习其缓存行为。接着我们将为什么这么实现以及他到底是如何实现的。你能猜出下面的Java
一、三目运算符 对于条件表达式b?x:y,先计算条件b,然后进行判断。如果b的值为true,计算x的值,运算结果为x的值;否则,计算y的值,运算结果为y的值。一个条件表达式从不会既计算x,又计算y。条件运算符是右结合的,也就是说,从右向左分组计算。例如,a?b:c?d:e将按a?b:(c?d:e)执