JAVA 九月 07, 2025

多 Servlet 环境下,请求的 ServletPath 是什么

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

Servlet 是 Java EE(现为 Jakarta EE)规范中的一个重要组件,用于处理客户端请求并生成动态响应。Servlet 通常运行在 Servlet 容器(如 Apache Tomcat...

查看全文

SPRING 八月 31, 2025

Spring 中 BeanFactory 和 ApplicationContext 的关系梳理

文章字数 593 阅读约需 1 mins.

几个重点:

  1. BeanFactory 接口提供的查找 Bean 的方法,需要时都会到父级工厂(如果有的话)中去查找。
  2. ListableBeanFactory 接口中可以获得一类 Bean,不会包含父级工厂中的 Bean。
  3. ApplicationContext 接口继承了 ListableBeanFactory 接口,同时继承了 HierarchicalBeanFactory 接口以支持父级上下文。
  4. WebApplicationContext 接口在 ApplicationContext 的基础...
查看全文

JAVA 八月 17, 2025

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

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

当我们使用会抛出InterruptedException异常的方法时,如果处理不当可能会发生一些预期之外的问题。

下面看一段代码演示:

public class ThreadInterruptedDemo {

    public static void main(String[] args) throws 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)。越靠近...

查看全文
加载更多
0%