Java

79 篇文章

10个Java开发者必须改掉的过时编程习惯

2025-07-01 11:41 Java Java

"如果你一直拖着过去不放,就无法向前进步。"这正是我在代码审查时对团队说的话。然而,每次我打开一个拉取请求时,我仍然看到过时的Java特性、坏习惯和应该在几年前就被淘汰的编码习惯。所以,如果你今天在使用Java,无论你是初级、中级还是高级开发者,这篇文章都适合你 🫵 。其中一些观点可能会让你感到不舒服。有些可能与你所学的相违背。但这正是你应该读到最后的原因。 1. 错误使用...

阅读全文

Java 24 五大特性

2025-06-19 11:41 Java Java

Java 24 是平台演进过程中一个大胆而深思熟虑的重要里程碑。经验丰富的 Java 开发者不仅会欣赏这次发布的变化数量,更会被其深度和发展方向所震撼。本次发布包含 24 个 JEP,显而易见,OpenJDK 社区正在性能、可扩展性和现代开发需求方面全力投入。在这篇文章中,我将为大家详细介绍我认为对资深工程师最具影响力的五个特性:分代...

阅读全文

Spring Boot + Multipart 文件上传:为什么你的应用在 10MB 后会失败

2025-06-12 21:39 Java Spring Boot

说实话,文件上传问题是后端开发中最令人头疼的 bug 之一。我至今还记得第一次遇到 Spring Boot 应用拒绝上传大于 10MB 文件的情况。小文件上传一切正常,但当我尝试上传更大的文件时——砰!各种错误接踵而至。如果你也遇到过这种情况,相信我,你绝对不是一个人在战斗。 接下来我会详细解释问题的原因、解决方案,以及如何让你的 Spring Boot 应用顺利处理大文件上传。...

阅读全文

Java开发者玩转机器学习的利器: Tribuo

2025-06-04 11:40 Java Java

1. 概述 机器学习(ML)和人工智能(AI)正在推动软件开发的变革,使系统能够通过数据学习并做出智能预测。 作为一名Java开发者,如果要训练自己的预测模型,是不是第一想到的还是把Python拿起来?其实不一定非要拿起Python,在Java领域也有自己的生产级机器学习工具,它支持分类、回归、聚类等常见任务,还能无缝对接 TensorFlow 等框架,用 Java 就能直接训模型、做预测!...

阅读全文

Java Lambda 表达式的缺点和替代方案

2025-06-03 11:40 Java Java

Java 8 引入的 Lambda 表达式曾被誉为编写简洁、函数式代码的革命性工具。但说实话,它们并不是万能钥匙。它有不少问题,比如它没有宣传的那么易读,在某些场景下还带来性能开销。 作为一名多年与 Java 冗长语法搏斗的开发者,我找到了更注重清晰、可维护性和性能的替代方案。本文将剖析 Lambda 的不足,分享真实的基准测试,并展示我实际采用的方案:包括代码、图示和一些经验之谈。...

阅读全文

使用SDKMAN安装Maven和Gradle

2025-05-23 10:43 Java Java Maven Gradle

之前在使用SDKMAN安装和管理多个JDK版本sdkman一文章介绍了如何用SDKMAN管理Java,对于Java开发者来说,还有一个非常重要的构建项目工具,那就是Maven。 之前因为一直用 IntelliJ IDEA 开发,Maven之类的构建工具一直用默认内置的,所以很久没手工安装了。 最近因为用Trea,在打开Java项目的时候,提示需要手工配置Maven,所以赶紧安装了一下,发现现在SD...

阅读全文

什么是 SootUp ?

2025-05-22 02:59 Java Java

1. 简介 在本文中,我们将介绍 SootUp 库。SootUp 是一个用于对 JVM 代码进行静态分析的库,可以分析原始源代码或已编译的 JVM 字节码。它是对 Soot 库的彻底重构,目标是更加模块化、可测试、可维护和易用。 2. 依赖 在使用 SootUp 之前,我们需要在构建中引入: xml org.soot-oss sootup.core 1.3.0 org.soot-oss...

阅读全文

什么是 ActiveJ ?

2025-05-21 02:59 Java Java

1. 简介 ActiveJhttps://activej.io/ 是一个轻量级的 Java 框架,适用于高性能应用。我们可以用它来创建启动速度快、内存占用小的极简和模块化应用。它提供了异步 I/O、依赖注入、高效序列化和响应式编程支持等特性。 在本教程中,我们将讨论 ActiveJ 的主要特性,包括其 Inspect 模块、强大的事件循环和高级网络功能。 2. 注入 我们从 ActiveJ...

阅读全文

扔了Lombok吧!MapStruct + Records才是正解!

2025-05-16 11:39 Java Java

Lombok作为一个广受欢迎的Java开发工具,通过注解的方式帮助我们消除样板代码,提升开发效率。但随着项目的发展,它也带来了一些令人困扰的问题: 🧙‍♂️ Lombok的问题 代码可读性差 - 大量使用@Data、@Builder等注解后,实际生成的代码变得不可见,增加了代码审查和维护的难度 IDE支持不稳定 - 与IDE的集成经常出现问题,导致代码提示失效、编辑器卡顿等问题...

阅读全文

Hibernate中@Formula注解的最佳实践

2025-05-15 21:42 Java Java Hibernate

1. @Formula注解是什么? 1.1 动态计算字段值 Hibernate中的@Formula注解允许您在实体中映射计算字段。不同于直接将数据库列映射到Java字段,@Formula可定义SQL表达式用于字段值的动态计算。该特性特别适用于依赖其他列或表数据的只读字段。 例如,在Employee实体中需要根据firstname和lastname列生成全名,使用@Formula即可实现无需数据库存...

阅读全文