JAVA 八月 17, 2025

【转】sonar对于处理InterruptedException异常提示的原因分析

文章字数 5.4k 阅读约需 5 mins.

当我们使用会抛出InterruptedException...

查看全文

BOOK 八月 10, 2025

《Java 9模块化开发:核心原则与实践》书摘

文章字数 25k 阅读约需 22 mins.

豆瓣评分 6.9

所有代码示例都可以在GitHub(https://github.com/java9-modularity/examples )上找到。

知识是共享的唯一财富

1.1 什么是模块化

模块必须遵循以下三个核心原则:

1.强封装性

2.定义良好的接口

3.显式依赖

1.2 在Java 9之前

OSGi要求将导入的包在JAR中列为元数据,称之为捆绑包(bundle)。

此外,还必须显式定义导出哪些包,即对其他捆绑包可见的包。

Maven和OSGi构建在JVM和Java...

查看全文

JAVA 五月 18, 2025

【转】Java 8 到 Java 24 新特性一览

文章字数 79k 阅读约需 1:12

  1. 本文整理了 Java 8 至 Java 24 各版本的新特性,内容包括每个版本的新增功能分类(如语法增强、性能优化、工具支持等)、详细的代码示例,并结合官方文档资料,分析每项特性的应用场景及优缺点。
  2. Java 8 发布于 2014 年,此后 Java...
查看全文

SPRING 一月 26, 2025

Spring Test 模块中的上下文缓存特性

文章字数 8.7k 阅读约需 8 mins.

Context CachingSpring Framework 中的 Spring TestContext Framework 所提供的 Context Management 上下文管理能力对测试所需使用的应用上下文的缓存支持,以减少初始化相同的应用上下文导致的时间浪费。

当执行测试用例时,若未能完全复用缓存中的 context,将会无谓的拖慢测试阶段的耗时,进而影响快速反馈的效果。

那么初始化多个 context 会对构建时间产生多大的影响呢?

这个问题会因环境而异:不同的初始化次数、容...

查看全文

JAVA 十一月 17, 2024

Maven 配置中的仓库和镜像

文章字数 6.4k 阅读约需 6 mins.

Maven 中,仓库(Repository)是指存放 pomjar 等文件的地方,分为本地仓库和远程仓库。

本地仓库(Local Repository)

本地仓库是 Maven 在本地文件系统中的一个目录,用于存储 Maven 项目的构建输出、依赖库、插件等。默认情况下,本地仓库位于用户目录下的 .m2 目录。可以在 settings.xml 配置文件中通过 <localRepository> 元素修改本地仓库的默认路径。

远程仓库(Remote Repository)

不在本地的...

查看全文

JAVA 十月 13, 2024

Java 正则表达式的灾难性回溯

文章字数 9.7k 阅读约需 9 mins.

新建一个 Backtracking.java 文件,内容如下:

public class Backtracking {
    public static void main(String[] args) {
        System.out.println(System.getProperty("java.version"));
        System.out.println("The first regex evaluation will never end in JDK <= 9:&...
查看全文

JAVA 九月 08, 2024

【转】掌握 Java 反射机制

文章字数 10k 阅读约需 10 mins.

原文地址:https://wyiyi.github.io/amber/2024/09/01/Reflection/

Java 反射机制允许程序在运行时取得任何类的内部信息,并能直接操作任意对象的内部属性及方法。

反射机制常用的类

  • java.lang.Class:代表类和接口,提供了获取类信息的方法。
  • java.lang.reflect.Constructor:代表类的构造函数。
  • java.lang.reflect.Field:代表类的成员变量。
  • java.lang.reflect.Method:...
查看全文

TEST 八月 11, 2024

Java 后端自动化测试

文章字数 22k 阅读约需 20 mins.

测试用例是一组输入、执行条件和预期结果的集合,用于验证软件系统的正确性。

自动化测试是指使用自动化工具或脚本来执行测试用例,以减少人工测试的工作量,提高测试效率和准确性。

测试金字塔 是一种指导自动化测试策略的框架,它建议在不同层次上分配不同数量和类型的测试,以确保成本效益、减轻团队负担并提高测试准确性。这个概念最初由 Mike Cohn 提出,主要分为三个层次:单元测试(Unit Tests)、服务测试(Service Tests,也称为集成测试)、以及用户界面测试(UI Tests)。越靠近...

查看全文

TEST 八月 04, 2024

构造 ApacheBench 可用的 postfile

文章字数 11k 阅读约需 10 mins.

Web 开发过程中,文件上传功能是常见的需求。对于开发者而言,确保上传功能的稳定性和性能至关重要。

本文将带你了解如何使用ApacheBench性能测试工具对文件上传功能进行性能测试,特别是如何按照规范构造上传文件的请求体,以便评估和提高服务器在高并发情况下的处理能力。

ApacheBench(简称ab)是 Apache 服务器自带的一个性能测试工具,它能够模拟多用户并发请求,从而评估服务器在高负载下的性能表现。若系统中未安装 Apache 服务器,可前往 Apache 官网下载和安装。更多...

查看全文

JAVA 七月 28, 2024

Maven 实用技巧

文章字数 15k 阅读约需 13 mins.

Maven Wrapper 借鉴了 Gradle Wrapper 的思想,可以在工程源码中提交 Wrapper 的脚本和配置,之后在工程目录中使用 mvnwmvnw.cmd 命令代替 mvn 命令,从而保证了各个开发及持续集成环境在构建时使用的 Maven 版本是一致的。

Maven Wrapper 最主要的是下面三个文件,可以使用 mvn wrapper:wrapper -Dtype=only-script(或 -Dtype=script) 命令生成,也可直接从其他工程复制:

├── ....
查看全文
加载更多
0%