FilterRegistrationBean 和 ContentCachingResponseWrapper 的关系
FilterRegistrationBean 和 ContentCachingResponseWrapper 在功能上是相互协作的,它们分别承担不同的角色:

FilterRegistrationBean:这是 Spring 提供的一个工具类,用于注册过滤器。它可以让开发者更方便地配置过滤器的属性,像过滤的 URL 模式、过滤器的执行顺序等。在你的代码里,FilterRegistrationBean 把 AddContentLengthFilter 这个过滤器注册到 Spring 应用中,并且设定该过滤器对所有请求生效。
ContentCachingResponseWrapper:这是 Spring 提供的一个响应包装器,其作用是缓存响应内容。借助它,能够在响应内容发送给客户端之前获取并操作响应数据。在 AddContentLengthFilter 过滤器里,ContentCachingResponseWrapper 会缓存响应体,这样就能计算并设置 Content-Length 响应头。(gzip返回数据据给前端,加快响应速度)
自动配置时自定义 FilterRegistrationBean 的使用规则
在 Spring 里,当存在自定义的 FilterRegistrationBean 时,Spring 会优先使用自定义的 FilterRegistrationBean 来注册过滤器,而非系统默认的。这是因为自定义的 FilterRegistrationBean 会覆盖掉系统自动配置的同名或同类型的过滤器注册。

在 Java 里,String... name 是可变参数(Varargs)的语法,它允许方法接收任意数量的 String 类型参数。下面详细介绍其用法和特点。和c++中的vectora一样。

技术派中实现串行改并行是实现了CompletableFuture,具体实现是写一个 AsyncUtil,通过链式调用其中的创建多个CompletableFuture实例,然后一起并行执行:CompletableFuture.allOf(new CompletableFuture[]{future, ...}).join();并记录每一个任务的执行时间,比串行快了40%的速度。