INFO  Validating config
INFO  
  ===================================================================
      #####  #    # ##### ##### ###### #####  ###### #      #   #
      #    # #    #   #     #   #      #    # #      #       # #
      #####  #    #   #     #   #####  #    # #####  #        #
      #    # #    #   #     #   #      #####  #      #        #
      #    # #    #   #     #   #      #   #  #      #        #
      #####   ####    #     #   ###### #    # #      ######   #
                            5.6.1
  ===================================================================
INFO  Start processing
INFO  Files loaded in 2.69 s
INFO  Generated: atom.xml
INFO  Generated: sitemap.txt
INFO  Generated: archives/index.html
INFO  Generated: sitemap.xml
INFO  Generated: search.json
INFO  Generated: 404.html
INFO  Generated: index.html
INFO  Generated: tags/Apache-Commons-Codec/index.html
INFO  Generated: tags/Apache-Commons-Compress/index.html
INFO  Generated: tags/Apache-Commons-CSV/index.html
INFO  Generated: tags/Path/index.html
INFO  Generated: archives/2026/10/index.html
INFO  Generated: page/2/index.html
INFO  Generated: tags/index.html
INFO  Generated: img/cover-java-jvm.svg
INFO  Generated: categories/Java/index.html
INFO  Generated: page/4/index.html
INFO  Generated: page/3/index.html
INFO  Generated: tags/Optional/index.html
INFO  Generated: tags/Apache-Commons/index.html
INFO  Generated: tags/Exceptions/index.html
INFO  Generated: tags/Multiset/index.html
INFO  Generated: tags/BloomFilter/index.html
INFO  Generated: tags/Collections/index.html
INFO  Generated: tags/RateLimiter/index.html
INFO  Generated: tags/字符串/index.html
INFO  Generated: tags/EventBus/index.html
INFO  Generated: tags/Concurrency/index.html
INFO  Generated: tags/Apache-Commons-Lang/index.html
INFO  Generated: tags/对象建模/index.html
INFO  Generated: tags/Apache-Commons-Collections/index.html
INFO  Generated: tags/并发/index.html
INFO  Generated: tags/数据校验/index.html
INFO  Generated: tags/IO/index.html
INFO  Generated: tags/Cache/index.html
INFO  Generated: tags/Apache-Commons-IO/index.html
INFO  Generated: tags/Caffeine/index.html
INFO  Generated: tags/缓存/index.html
INFO  Generated: tags/Guava/index.html
INFO  Generated: tags/Range/index.html
INFO  Generated: tags/Apache-Commons-Text/index.html
INFO  Generated: tags/Unicode/index.html
INFO  Generated: js/utils.js
INFO  Generated: css/index.css
INFO  Generated: img/error-page.png
INFO  Generated: img/404.jpg
INFO  Generated: img/favicon.ico
INFO  Generated: img/friend_404.gif
INFO  Generated: js/search/algolia.js
INFO  Generated: archives/2026/index.html
INFO  Generated: tags/Java/index.html
INFO  Generated: categories/Java/page/2/index.html
INFO  Generated: tags/Java/page/2/index.html
INFO  Generated: tags/Guava/page/3/index.html
INFO  Generated: js/main.js
INFO  Generated: js/tw_cn.js
INFO  Generated: css/var.css
INFO  Generated: js/search/local-search.js
INFO  Generated: tags/Java/page/4/index.html
INFO  Generated: 2026/10/02/Java常用类库-00-从业务契约建立可复现基线/java-libraries-00-02.tar.gz
INFO  Generated: tags/Java/page/3/index.html
INFO  Generated: categories/Java/page/4/index.html
INFO  Generated: categories/Java/page/3/index.html
INFO  Generated: tags/Guava/page/2/index.html
INFO  Generated: 2026/10/02/Java常用类库-04-规范化策略与依赖成本/index.html
INFO  Generated: img/butterfly-icon.png
INFO  Generated: 2026/10/02/Java常用类库-06-Optional迁移的值语义与类型边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-01-null-empty与blank的语义边界/jdk21-matrix.txt
INFO  Generated: 2026/10/02/Java常用类库-03-相等哈希与排序的契约/Chapter03Test.java
INFO  Generated: 2026/10/02/Java常用类库-08-CharMatcher与Strings的字符单位/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-09-Immutable集合的构建与共享边界/Chapter09Test.java
INFO  Generated: 2026/10/02/Java常用类库-10-Multimap的多值语义与写入视图/Chapter10Test.java
INFO  Generated: 2026/10/02/Java常用类库-11-Multiset频次与集合大小的区别/Chapter11Test.java
INFO  Generated: 2026/10/02/Java常用类库-07-Joiner与Splitter的分隔契约/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-02-视图浅复制与不可变的边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-14-Range区间边界与覆盖语义/Chapter14Test.java
INFO  Generated: 2026/10/02/Java常用类库-12-BiMap与Table的索引约束/Chapter12Test.java
INFO  Generated: 2026/10/02/Java常用类库-17-RateLimiter的许可债务与时间模型/Chapter17Test.java
INFO  Generated: 2026/10/02/Java常用类库-19-EventBus的订阅关系与派发边界/ExplicitCatalogListeners.java
INFO  Generated: 2026/10/02/Java常用类库-18-Hashing与BloomFilter的编码和误判边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-16-ListenableFuture的执行线程与取消边界/FutureTransform.java
INFO  Generated: 2026/10/02/Java常用类库-05-Preconditions与Verify的失败契约/Chapter05Test.java
INFO  Generated: 2026/10/02/Java常用类库-23-Collections4多值结构的迁移差异/Chapter23Test.java
INFO  Generated: 2026/10/02/Java常用类库-22-Pair可变包装与反射Builder的边界/Chapter22Test.java
INFO  Generated: 2026/10/02/Java常用类库-24-集合装饰器的校验转换与同步入口/Chapter24Test.java
INFO  Generated: 2026/10/02/Java常用类库-13-惰性集合视图与Ordering求值边界/Chapter13Test.java
INFO  Generated: 2026/10/02/Java常用类库-21-数值布尔与枚举的失败语义/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-15-加载刷新与失效的缓存状态/Chapter15Test.java
INFO  Generated: 2026/10/02/Java常用类库-20-StringUtils的空值与边界契约/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-25-流所有权与有界读写/BoundedIo.java
INFO  Generated: 2026/10/02/Java常用类库-29-CSV方言与流式记录契约/Chapter29Test.java
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/BoundedIo.java
INFO  Generated: 2026/10/02/Java常用类库-28-Base64严格度与摘要认证边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-27-转义上下文与受控文本插值/Chapter27Test.java
INFO  Generated: 2026/10/02/Java常用类库-31-从Guava迁移Caffeine的缓存契约/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-04-规范化策略与依赖成本/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-26-路径规范化与真实目录边界/java-libraries-25-30.tar.gz
INFO  Generated: 2026/10/02/Java常用类库-00-从业务契约建立可复现基线/CHECKSUMS.sha256
INFO  Generated: 2026/10/02/Java常用类库-03-相等哈希与排序的契约/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-01-null-empty与blank的语义边界/jdk8-matrix.txt
INFO  Generated: 2026/10/02/Java常用类库-08-CharMatcher与Strings的字符单位/Chapter08Test.java
INFO  Generated: 2026/10/02/Java常用类库-09-Immutable集合的构建与共享边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-07-Joiner与Splitter的分隔契约/Chapter07Test.java
INFO  Generated: 2026/10/02/Java常用类库-00-从业务契约建立可复现基线/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-10-Multimap的多值语义与写入视图/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-06-Optional迁移的值语义与类型边界/Chapter06Test.java
INFO  Generated: 2026/10/02/Java常用类库-14-Range区间边界与覆盖语义/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-17-RateLimiter的许可债务与时间模型/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-17-RateLimiter的许可债务与时间模型/RateTiming.java
INFO  Generated: 2026/10/02/Java常用类库-18-Hashing与BloomFilter的编码和误判边界/FilteredCatalog.java
INFO  Generated: 2026/10/02/Java常用类库-04-规范化策略与依赖成本/Chapter04Test.java
INFO  Generated: 2026/10/02/Java常用类库-11-Multiset频次与集合大小的区别/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-16-ListenableFuture的执行线程与取消边界/Chapter16Test.java
INFO  Generated: 2026/10/02/Java常用类库-16-ListenableFuture的执行线程与取消边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-19-EventBus的订阅关系与派发边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-05-Preconditions与Verify的失败契约/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-18-Hashing与BloomFilter的编码和误判边界/Chapter18Test.java
INFO  Generated: 2026/10/02/Java常用类库-19-EventBus的订阅关系与派发边界/Chapter19Test.java
INFO  Generated: 2026/10/02/Java常用类库-12-BiMap与Table的索引约束/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-22-Pair可变包装与反射Builder的边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-15-加载刷新与失效的缓存状态/RefreshTimeline.java
INFO  Generated: 2026/10/02/Java常用类库-13-惰性集合视图与Ordering求值边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-25-流所有权与有界读写/Chapter25Test.java
INFO  Generated: 2026/10/02/Java常用类库-24-集合装饰器的校验转换与同步入口/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-23-Collections4多值结构的迁移差异/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-25-流所有权与有界读写/java-libraries-25-30.tar.gz
INFO  Generated: 2026/10/02/Java常用类库-29-CSV方言与流式记录契约/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-25-流所有权与有界读写/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-21-数值布尔与枚举的失败语义/Chapter21Test.java
INFO  Generated: 2026/10/02/Java常用类库-29-CSV方言与流式记录契约/java-libraries-25-30.tar.gz
INFO  Generated: 2026/10/02/Java常用类库-20-StringUtils的空值与边界契约/Chapter20Test.java
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/SafePaths.java
INFO  Generated: 2026/10/02/Java常用类库-27-转义上下文与受控文本插值/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-15-加载刷新与失效的缓存状态/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-28-Base64严格度与摘要认证边界/Chapter28Test.java
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/Chapter30Test.java
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/java-libraries-25-30.tar.gz
INFO  Generated: 2026/10/02/Java常用类库-31-从Guava迁移Caffeine的缓存契约/CacheMigrationDemo.java
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/PrivateArchive.java
INFO  Generated: 2026/10/02/Java常用类库-26-路径规范化与真实目录边界/SafePaths.java
INFO  Generated: 2026/10/02/Java常用类库-26-路径规范化与真实目录边界/RUN.md
INFO  Generated: 2026/10/02/Java常用类库-26-路径规范化与真实目录边界/Chapter26Test.java
INFO  Generated: 2026/10/02/Java常用类库-28-Base64严格度与摘要认证边界/java-libraries-25-30.tar.gz
INFO  Generated: 2026/10/02/Java常用类库-01-null-empty与blank的语义边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-03-相等哈希与排序的契约/index.html
INFO  Generated: 2026/10/02/Java常用类库-05-Preconditions与Verify的失败契约/index.html
INFO  Generated: 2026/10/02/Java常用类库-12-BiMap与Table的索引约束/index.html
INFO  Generated: 2026/10/02/Java常用类库-18-Hashing与BloomFilter的编码和误判边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-02-视图浅复制与不可变的边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-08-CharMatcher与Strings的字符单位/index.html
INFO  Generated: 2026/10/02/Java常用类库-07-Joiner与Splitter的分隔契约/index.html
INFO  Generated: 2026/10/02/Java常用类库-27-转义上下文与受控文本插值/java-libraries-25-30.tar.gz
INFO  Generated: 2026/10/02/Java常用类库-16-ListenableFuture的执行线程与取消边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-13-惰性集合视图与Ordering求值边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-17-RateLimiter的许可债务与时间模型/index.html
INFO  Generated: 2026/10/02/Java常用类库-21-数值布尔与枚举的失败语义/index.html
INFO  Generated: 2026/10/02/Java常用类库-20-StringUtils的空值与边界契约/index.html
INFO  Generated: 2026/10/02/Java常用类库-23-Collections4多值结构的迁移差异/index.html
INFO  Generated: 2026/10/02/Java常用类库-24-集合装饰器的校验转换与同步入口/index.html
INFO  Generated: 2026/10/02/Java常用类库-14-Range区间边界与覆盖语义/index.html
INFO  Generated: 2026/10/02/Java常用类库-19-EventBus的订阅关系与派发边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-22-Pair可变包装与反射Builder的边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-00-从业务契约建立可复现基线/index.html
INFO  Generated: 2026/10/02/Java常用类库-11-Multiset频次与集合大小的区别/index.html
INFO  Generated: 2026/10/02/Java常用类库-27-转义上下文与受控文本插值/index.html
INFO  Generated: 2026/10/02/Java常用类库-15-加载刷新与失效的缓存状态/index.html
INFO  Generated: 2026/10/02/Java常用类库-31-从Guava迁移Caffeine的缓存契约/index.html
INFO  Generated: 2026/10/02/Java常用类库-29-CSV方言与流式记录契约/index.html
INFO  Generated: 2026/10/02/Java常用类库-28-Base64严格度与摘要认证边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-26-路径规范化与真实目录边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-31-从Guava迁移Caffeine的缓存契约/Chapter31Test.java
INFO  Generated: 2026/10/02/Java常用类库-30-ZIP与TAR的隔离解包和资源预算/index.html
INFO  Generated: 2026/10/02/Java常用类库-10-Multimap的多值语义与写入视图/index.html
INFO  Generated: 2026/10/02/Java常用类库-25-流所有权与有界读写/index.html
INFO  Generated: 2026/10/02/Java常用类库-06-Optional迁移的值语义与类型边界/index.html
INFO  Generated: 2026/10/02/Java常用类库-09-Immutable集合的构建与共享边界/index.html
INFO  177 files generated in 844 ms
{
  "generatedAt": "2026-10-02T09:30:26.160Z",
  "isolatedRoot": "/var/folders/69/dwg4b48n54l79z0hv04311bw0000gn/T/java-libraries-site-DKO6eP",
  "expected": 32,
  "chapterIds": [
    "00",
    "01",
    "02",
    "03",
    "04",
    "05",
    "06",
    "07",
    "08",
    "09",
    "10",
    "11",
    "12",
    "13",
    "14",
    "15",
    "16",
    "17",
    "18",
    "19",
    "20",
    "21",
    "22",
    "23",
    "24",
    "25",
    "26",
    "27",
    "28",
    "29",
    "30",
    "31"
  ],
  "pages": [
    {
      "file": "2026-10-02-Java常用类库-00-从业务契约建立可复现基线.md",
      "htmlBytes": 69713,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-00-%E4%BB%8E%E4%B8%9A%E5%8A%A1%E5%A5%91%E7%BA%A6%E5%BB%BA%E7%AB%8B%E5%8F%AF%E5%A4%8D%E7%8E%B0%E5%9F%BA%E7%BA%BF/java-libraries-00-02.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-01-null-empty与blank的语义边界.md",
      "htmlBytes": 69512,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-01-null-empty%E4%B8%8Eblank%E7%9A%84%E8%AF%AD%E4%B9%89%E8%BE%B9%E7%95%8C/jdk8-matrix.txt",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-01-null-empty%E4%B8%8Eblank%E7%9A%84%E8%AF%AD%E4%B9%89%E8%BE%B9%E7%95%8C/jdk21-matrix.txt"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-02-视图浅复制与不可变的边界.md",
      "htmlBytes": 82323,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-02-%E8%A7%86%E5%9B%BE%E6%B5%85%E5%A4%8D%E5%88%B6%E4%B8%8E%E4%B8%8D%E5%8F%AF%E5%8F%98%E7%9A%84%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-03-相等哈希与排序的契约.md",
      "htmlBytes": 67848,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-03-%E7%9B%B8%E7%AD%89%E5%93%88%E5%B8%8C%E4%B8%8E%E6%8E%92%E5%BA%8F%E7%9A%84%E5%A5%91%E7%BA%A6/Chapter03Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-03-%E7%9B%B8%E7%AD%89%E5%93%88%E5%B8%8C%E4%B8%8E%E6%8E%92%E5%BA%8F%E7%9A%84%E5%A5%91%E7%BA%A6/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-04-规范化策略与依赖成本.md",
      "htmlBytes": 66409,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-04-%E8%A7%84%E8%8C%83%E5%8C%96%E7%AD%96%E7%95%A5%E4%B8%8E%E4%BE%9D%E8%B5%96%E6%88%90%E6%9C%AC/Chapter04Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-04-%E8%A7%84%E8%8C%83%E5%8C%96%E7%AD%96%E7%95%A5%E4%B8%8E%E4%BE%9D%E8%B5%96%E6%88%90%E6%9C%AC/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-05-Preconditions与Verify的失败契约.md",
      "htmlBytes": 66582,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-05-Preconditions%E4%B8%8EVerify%E7%9A%84%E5%A4%B1%E8%B4%A5%E5%A5%91%E7%BA%A6/Chapter05Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-05-Preconditions%E4%B8%8EVerify%E7%9A%84%E5%A4%B1%E8%B4%A5%E5%A5%91%E7%BA%A6/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-06-Optional迁移的值语义与类型边界.md",
      "htmlBytes": 67694,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-06-Optional%E8%BF%81%E7%A7%BB%E7%9A%84%E5%80%BC%E8%AF%AD%E4%B9%89%E4%B8%8E%E7%B1%BB%E5%9E%8B%E8%BE%B9%E7%95%8C/Chapter06Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-06-Optional%E8%BF%81%E7%A7%BB%E7%9A%84%E5%80%BC%E8%AF%AD%E4%B9%89%E4%B8%8E%E7%B1%BB%E5%9E%8B%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-07-Joiner与Splitter的分隔契约.md",
      "htmlBytes": 62849,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-07-Joiner%E4%B8%8ESplitter%E7%9A%84%E5%88%86%E9%9A%94%E5%A5%91%E7%BA%A6/Chapter07Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-07-Joiner%E4%B8%8ESplitter%E7%9A%84%E5%88%86%E9%9A%94%E5%A5%91%E7%BA%A6/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-08-CharMatcher与Strings的字符单位.md",
      "htmlBytes": 62807,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-08-CharMatcher%E4%B8%8EStrings%E7%9A%84%E5%AD%97%E7%AC%A6%E5%8D%95%E4%BD%8D/Chapter08Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-08-CharMatcher%E4%B8%8EStrings%E7%9A%84%E5%AD%97%E7%AC%A6%E5%8D%95%E4%BD%8D/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-09-Immutable集合的构建与共享边界.md",
      "htmlBytes": 64163,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-09-Immutable%E9%9B%86%E5%90%88%E7%9A%84%E6%9E%84%E5%BB%BA%E4%B8%8E%E5%85%B1%E4%BA%AB%E8%BE%B9%E7%95%8C/Chapter09Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-09-Immutable%E9%9B%86%E5%90%88%E7%9A%84%E6%9E%84%E5%BB%BA%E4%B8%8E%E5%85%B1%E4%BA%AB%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-10-Multimap的多值语义与写入视图.md",
      "htmlBytes": 63030,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-10-Multimap%E7%9A%84%E5%A4%9A%E5%80%BC%E8%AF%AD%E4%B9%89%E4%B8%8E%E5%86%99%E5%85%A5%E8%A7%86%E5%9B%BE/Chapter10Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-10-Multimap%E7%9A%84%E5%A4%9A%E5%80%BC%E8%AF%AD%E4%B9%89%E4%B8%8E%E5%86%99%E5%85%A5%E8%A7%86%E5%9B%BE/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-11-Multiset频次与集合大小的区别.md",
      "htmlBytes": 65157,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-11-Multiset%E9%A2%91%E6%AC%A1%E4%B8%8E%E9%9B%86%E5%90%88%E5%A4%A7%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB/Chapter11Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-11-Multiset%E9%A2%91%E6%AC%A1%E4%B8%8E%E9%9B%86%E5%90%88%E5%A4%A7%E5%B0%8F%E7%9A%84%E5%8C%BA%E5%88%AB/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-12-BiMap与Table的索引约束.md",
      "htmlBytes": 63687,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-12-BiMap%E4%B8%8ETable%E7%9A%84%E7%B4%A2%E5%BC%95%E7%BA%A6%E6%9D%9F/Chapter12Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-12-BiMap%E4%B8%8ETable%E7%9A%84%E7%B4%A2%E5%BC%95%E7%BA%A6%E6%9D%9F/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-13-惰性集合视图与Ordering求值边界.md",
      "htmlBytes": 64018,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-13-%E6%83%B0%E6%80%A7%E9%9B%86%E5%90%88%E8%A7%86%E5%9B%BE%E4%B8%8EOrdering%E6%B1%82%E5%80%BC%E8%BE%B9%E7%95%8C/Chapter13Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-13-%E6%83%B0%E6%80%A7%E9%9B%86%E5%90%88%E8%A7%86%E5%9B%BE%E4%B8%8EOrdering%E6%B1%82%E5%80%BC%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-14-Range区间边界与覆盖语义.md",
      "htmlBytes": 64762,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-14-Range%E5%8C%BA%E9%97%B4%E8%BE%B9%E7%95%8C%E4%B8%8E%E8%A6%86%E7%9B%96%E8%AF%AD%E4%B9%89/Chapter14Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-14-Range%E5%8C%BA%E9%97%B4%E8%BE%B9%E7%95%8C%E4%B8%8E%E8%A6%86%E7%9B%96%E8%AF%AD%E4%B9%89/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-15-加载刷新与失效的缓存状态.md",
      "htmlBytes": 72157,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-15-%E5%8A%A0%E8%BD%BD%E5%88%B7%E6%96%B0%E4%B8%8E%E5%A4%B1%E6%95%88%E7%9A%84%E7%BC%93%E5%AD%98%E7%8A%B6%E6%80%81/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-15-%E5%8A%A0%E8%BD%BD%E5%88%B7%E6%96%B0%E4%B8%8E%E5%A4%B1%E6%95%88%E7%9A%84%E7%BC%93%E5%AD%98%E7%8A%B6%E6%80%81/Chapter15Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-15-%E5%8A%A0%E8%BD%BD%E5%88%B7%E6%96%B0%E4%B8%8E%E5%A4%B1%E6%95%88%E7%9A%84%E7%BC%93%E5%AD%98%E7%8A%B6%E6%80%81/RefreshTimeline.java"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-16-ListenableFuture的执行线程与取消边界.md",
      "htmlBytes": 67565,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-16-ListenableFuture%E7%9A%84%E6%89%A7%E8%A1%8C%E7%BA%BF%E7%A8%8B%E4%B8%8E%E5%8F%96%E6%B6%88%E8%BE%B9%E7%95%8C/Chapter16Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-16-ListenableFuture%E7%9A%84%E6%89%A7%E8%A1%8C%E7%BA%BF%E7%A8%8B%E4%B8%8E%E5%8F%96%E6%B6%88%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-17-RateLimiter的许可债务与时间模型.md",
      "htmlBytes": 68328,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-17-RateLimiter%E7%9A%84%E8%AE%B8%E5%8F%AF%E5%80%BA%E5%8A%A1%E4%B8%8E%E6%97%B6%E9%97%B4%E6%A8%A1%E5%9E%8B/Chapter17Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-17-RateLimiter%E7%9A%84%E8%AE%B8%E5%8F%AF%E5%80%BA%E5%8A%A1%E4%B8%8E%E6%97%B6%E9%97%B4%E6%A8%A1%E5%9E%8B/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-18-Hashing与BloomFilter的编码和误判边界.md",
      "htmlBytes": 64946,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-18-Hashing%E4%B8%8EBloomFilter%E7%9A%84%E7%BC%96%E7%A0%81%E5%92%8C%E8%AF%AF%E5%88%A4%E8%BE%B9%E7%95%8C/Chapter18Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-18-Hashing%E4%B8%8EBloomFilter%E7%9A%84%E7%BC%96%E7%A0%81%E5%92%8C%E8%AF%AF%E5%88%A4%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-19-EventBus的订阅关系与派发边界.md",
      "htmlBytes": 65642,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-19-EventBus%E7%9A%84%E8%AE%A2%E9%98%85%E5%85%B3%E7%B3%BB%E4%B8%8E%E6%B4%BE%E5%8F%91%E8%BE%B9%E7%95%8C/Chapter19Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-19-EventBus%E7%9A%84%E8%AE%A2%E9%98%85%E5%85%B3%E7%B3%BB%E4%B8%8E%E6%B4%BE%E5%8F%91%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-20-StringUtils的空值与边界契约.md",
      "htmlBytes": 62688,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-20-StringUtils%E7%9A%84%E7%A9%BA%E5%80%BC%E4%B8%8E%E8%BE%B9%E7%95%8C%E5%A5%91%E7%BA%A6/Chapter20Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-20-StringUtils%E7%9A%84%E7%A9%BA%E5%80%BC%E4%B8%8E%E8%BE%B9%E7%95%8C%E5%A5%91%E7%BA%A6/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-21-数值布尔与枚举的失败语义.md",
      "htmlBytes": 62983,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-21-%E6%95%B0%E5%80%BC%E5%B8%83%E5%B0%94%E4%B8%8E%E6%9E%9A%E4%B8%BE%E7%9A%84%E5%A4%B1%E8%B4%A5%E8%AF%AD%E4%B9%89/Chapter21Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-21-%E6%95%B0%E5%80%BC%E5%B8%83%E5%B0%94%E4%B8%8E%E6%9E%9A%E4%B8%BE%E7%9A%84%E5%A4%B1%E8%B4%A5%E8%AF%AD%E4%B9%89/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-22-Pair可变包装与反射Builder的边界.md",
      "htmlBytes": 62498,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-22-Pair%E5%8F%AF%E5%8F%98%E5%8C%85%E8%A3%85%E4%B8%8E%E5%8F%8D%E5%B0%84Builder%E7%9A%84%E8%BE%B9%E7%95%8C/Chapter22Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-22-Pair%E5%8F%AF%E5%8F%98%E5%8C%85%E8%A3%85%E4%B8%8E%E5%8F%8D%E5%B0%84Builder%E7%9A%84%E8%BE%B9%E7%95%8C/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-23-Collections4多值结构的迁移差异.md",
      "htmlBytes": 62147,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-23-Collections4%E5%A4%9A%E5%80%BC%E7%BB%93%E6%9E%84%E7%9A%84%E8%BF%81%E7%A7%BB%E5%B7%AE%E5%BC%82/Chapter23Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-23-Collections4%E5%A4%9A%E5%80%BC%E7%BB%93%E6%9E%84%E7%9A%84%E8%BF%81%E7%A7%BB%E5%B7%AE%E5%BC%82/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-24-集合装饰器的校验转换与同步入口.md",
      "htmlBytes": 62302,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-24-%E9%9B%86%E5%90%88%E8%A3%85%E9%A5%B0%E5%99%A8%E7%9A%84%E6%A0%A1%E9%AA%8C%E8%BD%AC%E6%8D%A2%E4%B8%8E%E5%90%8C%E6%AD%A5%E5%85%A5%E5%8F%A3/Chapter24Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-24-%E9%9B%86%E5%90%88%E8%A3%85%E9%A5%B0%E5%99%A8%E7%9A%84%E6%A0%A1%E9%AA%8C%E8%BD%AC%E6%8D%A2%E4%B8%8E%E5%90%8C%E6%AD%A5%E5%85%A5%E5%8F%A3/RUN.md"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-25-流所有权与有界读写.md",
      "htmlBytes": 62289,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-25-%E6%B5%81%E6%89%80%E6%9C%89%E6%9D%83%E4%B8%8E%E6%9C%89%E7%95%8C%E8%AF%BB%E5%86%99/Chapter25Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-25-%E6%B5%81%E6%89%80%E6%9C%89%E6%9D%83%E4%B8%8E%E6%9C%89%E7%95%8C%E8%AF%BB%E5%86%99/BoundedIo.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-25-%E6%B5%81%E6%89%80%E6%9C%89%E6%9D%83%E4%B8%8E%E6%9C%89%E7%95%8C%E8%AF%BB%E5%86%99/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-25-%E6%B5%81%E6%89%80%E6%9C%89%E6%9D%83%E4%B8%8E%E6%9C%89%E7%95%8C%E8%AF%BB%E5%86%99/java-libraries-25-30.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-26-路径规范化与真实目录边界.md",
      "htmlBytes": 62839,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-26-%E8%B7%AF%E5%BE%84%E8%A7%84%E8%8C%83%E5%8C%96%E4%B8%8E%E7%9C%9F%E5%AE%9E%E7%9B%AE%E5%BD%95%E8%BE%B9%E7%95%8C/Chapter26Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-26-%E8%B7%AF%E5%BE%84%E8%A7%84%E8%8C%83%E5%8C%96%E4%B8%8E%E7%9C%9F%E5%AE%9E%E7%9B%AE%E5%BD%95%E8%BE%B9%E7%95%8C/SafePaths.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-26-%E8%B7%AF%E5%BE%84%E8%A7%84%E8%8C%83%E5%8C%96%E4%B8%8E%E7%9C%9F%E5%AE%9E%E7%9B%AE%E5%BD%95%E8%BE%B9%E7%95%8C/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-26-%E8%B7%AF%E5%BE%84%E8%A7%84%E8%8C%83%E5%8C%96%E4%B8%8E%E7%9C%9F%E5%AE%9E%E7%9B%AE%E5%BD%95%E8%BE%B9%E7%95%8C/java-libraries-25-30.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-27-转义上下文与受控文本插值.md",
      "htmlBytes": 62883,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-27-%E8%BD%AC%E4%B9%89%E4%B8%8A%E4%B8%8B%E6%96%87%E4%B8%8E%E5%8F%97%E6%8E%A7%E6%96%87%E6%9C%AC%E6%8F%92%E5%80%BC/Chapter27Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-27-%E8%BD%AC%E4%B9%89%E4%B8%8A%E4%B8%8B%E6%96%87%E4%B8%8E%E5%8F%97%E6%8E%A7%E6%96%87%E6%9C%AC%E6%8F%92%E5%80%BC/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-27-%E8%BD%AC%E4%B9%89%E4%B8%8A%E4%B8%8B%E6%96%87%E4%B8%8E%E5%8F%97%E6%8E%A7%E6%96%87%E6%9C%AC%E6%8F%92%E5%80%BC/java-libraries-25-30.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-28-Base64严格度与摘要认证边界.md",
      "htmlBytes": 62738,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-28-Base64%E4%B8%A5%E6%A0%BC%E5%BA%A6%E4%B8%8E%E6%91%98%E8%A6%81%E8%AE%A4%E8%AF%81%E8%BE%B9%E7%95%8C/Chapter28Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-28-Base64%E4%B8%A5%E6%A0%BC%E5%BA%A6%E4%B8%8E%E6%91%98%E8%A6%81%E8%AE%A4%E8%AF%81%E8%BE%B9%E7%95%8C/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-28-Base64%E4%B8%A5%E6%A0%BC%E5%BA%A6%E4%B8%8E%E6%91%98%E8%A6%81%E8%AE%A4%E8%AF%81%E8%BE%B9%E7%95%8C/java-libraries-25-30.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-29-CSV方言与流式记录契约.md",
      "htmlBytes": 61443,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-29-CSV%E6%96%B9%E8%A8%80%E4%B8%8E%E6%B5%81%E5%BC%8F%E8%AE%B0%E5%BD%95%E5%A5%91%E7%BA%A6/Chapter29Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-29-CSV%E6%96%B9%E8%A8%80%E4%B8%8E%E6%B5%81%E5%BC%8F%E8%AE%B0%E5%BD%95%E5%A5%91%E7%BA%A6/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-29-CSV%E6%96%B9%E8%A8%80%E4%B8%8E%E6%B5%81%E5%BC%8F%E8%AE%B0%E5%BD%95%E5%A5%91%E7%BA%A6/java-libraries-25-30.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-30-ZIP与TAR的隔离解包和资源预算.md",
      "htmlBytes": 69870,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-30-ZIP%E4%B8%8ETAR%E7%9A%84%E9%9A%94%E7%A6%BB%E8%A7%A3%E5%8C%85%E5%92%8C%E8%B5%84%E6%BA%90%E9%A2%84%E7%AE%97/Chapter30Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-30-ZIP%E4%B8%8ETAR%E7%9A%84%E9%9A%94%E7%A6%BB%E8%A7%A3%E5%8C%85%E5%92%8C%E8%B5%84%E6%BA%90%E9%A2%84%E7%AE%97/PrivateArchive.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-30-ZIP%E4%B8%8ETAR%E7%9A%84%E9%9A%94%E7%A6%BB%E8%A7%A3%E5%8C%85%E5%92%8C%E8%B5%84%E6%BA%90%E9%A2%84%E7%AE%97/SafePaths.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-30-ZIP%E4%B8%8ETAR%E7%9A%84%E9%9A%94%E7%A6%BB%E8%A7%A3%E5%8C%85%E5%92%8C%E8%B5%84%E6%BA%90%E9%A2%84%E7%AE%97/BoundedIo.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-30-ZIP%E4%B8%8ETAR%E7%9A%84%E9%9A%94%E7%A6%BB%E8%A7%A3%E5%8C%85%E5%92%8C%E8%B5%84%E6%BA%90%E9%A2%84%E7%AE%97/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-30-ZIP%E4%B8%8ETAR%E7%9A%84%E9%9A%94%E7%A6%BB%E8%A7%A3%E5%8C%85%E5%92%8C%E8%B5%84%E6%BA%90%E9%A2%84%E7%AE%97/java-libraries-25-30.tar.gz"
      ]
    },
    {
      "file": "2026-10-02-Java常用类库-31-从Guava迁移Caffeine的缓存契约.md",
      "htmlBytes": 70079,
      "assets": [
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-31-%E4%BB%8EGuava%E8%BF%81%E7%A7%BBCaffeine%E7%9A%84%E7%BC%93%E5%AD%98%E5%A5%91%E7%BA%A6/Chapter31Test.java",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-31-%E4%BB%8EGuava%E8%BF%81%E7%A7%BBCaffeine%E7%9A%84%E7%BC%93%E5%AD%98%E5%A5%91%E7%BA%A6/RUN.md",
        "/2026/10/02/Java%E5%B8%B8%E7%94%A8%E7%B1%BB%E5%BA%93-31-%E4%BB%8EGuava%E8%BF%81%E7%A7%BBCaffeine%E7%9A%84%E7%BC%93%E5%AD%98%E5%A5%91%E7%BA%A6/CacheMigrationDemo.java"
      ]
    }
  ],
  "status": "PASS"
}
