Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1496 commits
Select commit Hold shift + click to select a range
cf45ad9
Merge pull request #1 from Hushihaoooooo/Hushihaoooooo-patch-1
Hushihaoooooo Aug 28, 2025
68b8b05
Merge pull request #2711 from Hushihaoooooo/main
Snailclimb Aug 28, 2025
de8fc1c
Update other-network-questions.md
Willy-01 Aug 29, 2025
e225232
Merge pull request #2712 from Willy-01/patch-1
Snailclimb Aug 29, 2025
8401399
Update syntactic-sugar.md
Ka1Yann Sep 1, 2025
a55d777
docs: fix typo
uncle-lv Sep 3, 2025
7aed1c8
Merge pull request #2713 from Ka1Yann/main
Snailclimb Sep 4, 2025
5e456ef
Merge pull request #2714 from uncle-lv/main
Snailclimb Sep 4, 2025
14ed3bd
update:操作系统面试题总结完善
Snailclimb Sep 4, 2025
1b78360
update:unsafe和线程池部分内容修正完善
Snailclimb Sep 8, 2025
3924653
Update why-there-only-value-passing-in-java.md
suozq1 Sep 10, 2025
ad57ac4
Merge pull request #2718 from suozq1/patch-1
Snailclimb Sep 11, 2025
e52e698
update: 部分内容完善和格式修正
Snailclimb Sep 18, 2025
877a637
add:JDK25 新特性解读
Snailclimb Sep 18, 2025
578115c
fix:一些小错误修正
Snailclimb Oct 13, 2025
6fa1b70
字符串常量池
PrinceZaZa Oct 18, 2025
6db8743
update: 排序算法和Spring面试题完善
Snailclimb Oct 20, 2025
da114b0
Merge pull request #2731 from PrinceZaZa/patch-1
Snailclimb Oct 20, 2025
bda5ab0
update: redis 手写跳表代码优化&mysql redo log 刷盘时间完善
Snailclimb Oct 20, 2025
47f27b7
更正直接执行Thread.run()的描述
DoubleYellowIce Oct 27, 2025
591a14a
Update java-basic-questions-01.md
Snailclimb Oct 27, 2025
06a21f9
Merge pull request #2733 from DoubleYellowIce/patch-1
Snailclimb Oct 27, 2025
434718c
add:补充一些今年秋招的高频java和redis面试题
Snailclimb Oct 29, 2025
2ffc699
add:新增一篇介绍一致性哈希算法的文章
Snailclimb Oct 29, 2025
9318b47
Add English translation of README (README_EN.md)
0xsatoshi99 Oct 30, 2025
4cd295d
Merge pull request #2739 from 0xsatoshi99/add-english-readme-issue-18
Snailclimb Oct 30, 2025
66977c8
fix Big number issue in the guide
codomposer Oct 31, 2025
e5d8025
Add automated translation tools - Addresses #1494
0xsatoshi99 Oct 31, 2025
b74d093
Merge pull request #2741 from codomposer/fix/issue-2680
Snailclimb Nov 1, 2025
78264fc
Fix wording for optimistic locking example
Bersulang Nov 5, 2025
52eb61e
update:上传到图片到图床
Snailclimb Nov 5, 2025
787b194
update: 优化更新数据库基础知识总结
Snailclimb Nov 12, 2025
ac90502
update:添加索引高频面试题 + 标注重点
Snailclimb Nov 16, 2025
9172b6b
update:添加索引高频面试题 + 标注重点
Snailclimb Nov 16, 2025
5514569
update:优化完善java集合和并发部分面试题答案
Snailclimb Nov 16, 2025
2815a92
Merge branch 'main' of github.com:Snailclimb/JavaGuide
Snailclimb Nov 16, 2025
26e88c1
seo:java部分的keywords和description优化
Snailclimb Nov 17, 2025
fff2456
seo:计算机基础、数据库和开发工具部分keywords和description优化
Snailclimb Nov 17, 2025
d59dba7
seo:数据库部分
Snailclimb Nov 21, 2025
e214819
Merge pull request #2742 from 0xsatoshi99/add-translation-tools-issue…
Snailclimb Nov 21, 2025
ed77745
Merge pull request #2745 from Bersulang/patch-1
Snailclimb Nov 21, 2025
06c747a
去除CompletableFuture详解中重复的描述
urlyy Nov 25, 2025
7854144
Merge pull request #2750 from urlyy/main
Snailclimb Nov 25, 2025
a32b74e
Update java-basic-questions-02.md 补全对使用不同方法创建String类型对象时的描述
UserXSX Nov 27, 2025
68459b3
update:Java 代理面试题补充
Snailclimb Nov 27, 2025
8acf4da
修改HashSet在存变量时的部分情况描述 (#1)
Find-K Dec 1, 2025
303d9ee
Merge pull request #2755 from Find-K/main
Snailclimb Dec 2, 2025
f21ba51
update:简单更新布局
Snailclimb Dec 2, 2025
5cf3058
Update README.md
Snailclimb Dec 2, 2025
1f9e5c5
add:缓存常用的 3 种读写策略重构完善
Snailclimb Dec 8, 2025
a3ba5e4
fix: 修正 README和doc 文件中重复教程名称
Gray878 Dec 9, 2025
7024d53
fix: 修正文档中错别字 提高过 为 提到过
Gray878 Dec 9, 2025
f4d873a
fix: 修正文档中多个错别字
Gray878 Dec 9, 2025
a020296
Merge pull request #2759 from Gray878/main
Snailclimb Dec 9, 2025
8bc24a3
fix: 修正文中多个重复文字
Gray878 Dec 9, 2025
c0fab9a
Merge pull request #2760 from Gray878/fix/text-duplicate
Snailclimb Dec 11, 2025
7d88719
Merge pull request #2753 from UserXSX/main
Snailclimb Dec 11, 2025
95468c0
@Resource注入逻辑描述修改
Find-K Dec 11, 2025
28cb0b8
Merge pull request #2761 from Find-K/main
Snailclimb Dec 15, 2025
a4b10f2
补充ConcurrentHashMap size()方法的分段计数机制详解
Dec 15, 2025
76176dc
Update spring-knowledge-and-questions-summary.md
Snailclimb Dec 15, 2025
f936ec7
Merge pull request #2763 from REALROOK1E/main
Snailclimb Dec 15, 2025
8b157f4
Update concurrent-hash-map-source-code.md
Snailclimb Dec 15, 2025
1aff02c
update:星球物料更新
Snailclimb Dec 16, 2025
b65e10a
fix: 修正 32 位系统单级页表大小的计算逻辑与单位换算
jaywang98 Dec 18, 2025
561b774
Merge pull request #2765 from jaywang98/main
Snailclimb Dec 18, 2025
f0463d1
Update classloader documentation for clarity
1750777402 Dec 22, 2025
dfa4b60
Merge pull request #2766 from 1750777402/patch-1
Snailclimb Dec 22, 2025
1977f0f
fix:修正“Java8 新特性实战”中对Stream的skip()方法的错误注释
UserXSX Dec 22, 2025
15fbf3c
Merge pull request #2767 from UserXSX/main
Snailclimb Dec 22, 2025
3cac4ea
fix: 修改可中断锁和不可中断锁区别的描述
chrisis58 Dec 24, 2025
a39ea3c
feat:加入沉浸阅读功能
Snailclimb Dec 24, 2025
4f73f3d
Fix wording for clarity in basis.md
Toloong Jan 5, 2026
04b7d9b
Merge pull request #2770 from Toloong/patch-1
Snailclimb Jan 5, 2026
61555c2
Merge pull request #2769 from chrisis58/main
Snailclimb Jan 5, 2026
7f14f92
错别字
MrFugui Jan 8, 2026
d56fafc
docs: 新增 AI 智能面试项目介绍并重构网站内容
Snailclimb Jan 12, 2026
5e0e2d5
refactor(sidebar): 统一管理侧边栏图标常量
Snailclimb Jan 12, 2026
8cd9f2c
fix:解决打包失败
Snailclimb Jan 13, 2026
210a568
Merge pull request #2772 from MrFugui/main
Snailclimb Jan 13, 2026
2f794f6
Update jvm-garbage-collection.md
dxl95519 Jan 14, 2026
f3d7d3c
Merge pull request #2774 from dxl95519/patch-1
Snailclimb Jan 14, 2026
d8f6d6a
docs: Update outdated GitHub Actions versions
pgoslatara Jan 15, 2026
cd7b927
docs:数据库基础知识部分添加配图
Snailclimb Jan 16, 2026
3b75190
Merge pull request #2775 from pgoslatara/actup/update-actions-1768500660
Snailclimb Jan 16, 2026
f125f9d
docs: 优化Java、面试准备和数据库模块文章的 keywords 和 description & 补充技术文章配图
Snailclimb Jan 16, 2026
35c23d3
docs: seo 优化
Snailclimb Jan 16, 2026
389ec1b
docs: seo 优化
Snailclimb Jan 16, 2026
c91ea96
feat:恢复沉浸式阅读功能
Snailclimb Jan 17, 2026
c6d432e
docs:AI 框架和项目推荐
Snailclimb Jan 18, 2026
d39a468
feat: 完善沉浸式阅读功能
Snailclimb Jan 18, 2026
9d4fe81
docs:完善数据冷热分离和CDN原理详解,优化SEO
Snailclimb Jan 21, 2026
05a2742
docs:完善高可用部分的文章
Snailclimb Jan 21, 2026
38c9664
Update how-sql-executed-in-mysql.md
Ka1Yann Jan 23, 2026
f6c2218
docs: java基础添加配图&java25新特性补充
Snailclimb Jan 26, 2026
8b2697d
typo: Java新特性部分的错别字修改
Snailclimb Jan 26, 2026
61c1646
docs: java 新特性内容规范和优化
Snailclimb Jan 26, 2026
353e458
docs:错别字修正
Snailclimb Jan 26, 2026
f50a2ea
docs: java部分的错别字和不通顺描述修正
Snailclimb Jan 27, 2026
dcb8a3b
Merge pull request #2776 from Ka1Yann/patch-1
Snailclimb Jan 27, 2026
a855bcb
Update rocketmq-questions.md
Snailclimb Jan 29, 2026
79dee79
Update rocketmq-questions.md
Snailclimb Jan 29, 2026
0e9b4f3
Optimize contains method in bloom filter
iamatsea Jan 30, 2026
d96b2df
docs:mermaid 配图样式优化
Snailclimb Jan 30, 2026
07fc323
docs: java多线程添加悲观锁和乐观锁对比表格
Snailclimb Jan 30, 2026
a048c23
Merge pull request #2779 from iamatsea/patch-1
Snailclimb Jan 31, 2026
2614dd0
fix: issue2782
121132 Feb 9, 2026
fcaf92b
feat:新增打包命令
Snailclimb Feb 10, 2026
52ad540
Merge pull request #2783 from 121132/fix-issue-2782
Snailclimb Feb 10, 2026
1dbc9c4
docs: typo
sphcode Feb 11, 2026
97a9e96
Merge pull request #2784 from sphcode/main
Snailclimb Feb 11, 2026
2c4d22b
update:完善如何跨线程传递 ThreadLocal 的值
Snailclimb Feb 12, 2026
a6e1cbf
docs:网络部分笔误修改
Snailclimb Feb 22, 2026
96d1d11
docs:泛型&通配符、常见SQL优化手段总结开放阅读
Snailclimb Feb 22, 2026
de611b9
feat: 新增隐藏指定文章组件
Snailclimb Feb 22, 2026
225aff2
docs:缓存基础常见面试题总结开放阅读
Snailclimb Feb 23, 2026
8e8575f
feat:优化阅读全文插件
Snailclimb Feb 23, 2026
9f2eca9
feat:优化阅读全文插件
Snailclimb Feb 23, 2026
4baa23d
fix: 修改 GlobalUnlock.vue 解决 SSR 水合阶段 + 动态 DOM 操作冲突。
Snailclimb Feb 23, 2026
932df09
Fix typo in 'GitHub Topics' section
understarsky Feb 26, 2026
394ebc0
docs: 分布式和数据库面试题完善
Snailclimb Feb 28, 2026
63fd517
Update cap-and-base-theorem.md
Snailclimb Feb 28, 2026
a81bfb2
docs:分布式理论知识优化完善(改动很大)
Snailclimb Feb 28, 2026
1151b5e
docs: gossip 和 raft 协议完善,绘制配图帮助理解
Snailclimb Feb 28, 2026
26e0c7a
docs:新增一篇文章详细解读 Redis 可以做消息队列么?怎么实现?
Snailclimb Mar 1, 2026
04f88a5
docs:Paxos 算法详解完善
Snailclimb Mar 1, 2026
34db003
feat:升级 rollup 依赖修复 CVE 漏洞
Snailclimb Mar 1, 2026
1b71b65
docs:完善降级&熔断详解、性能测试入门
Snailclimb Mar 1, 2026
25a15e8
Update key-points-of-interview.md
Snailclimb Mar 2, 2026
2f9fee8
Merge pull request #2785 from understarsky/patch-1
Snailclimb Mar 2, 2026
bff8cc6
Merge branch 'main' of github.com:Snailclimb/JavaGuide
Snailclimb Mar 2, 2026
c07482a
fix: Fix formatting in distributed-id.md
Hazehacker Mar 2, 2026
643b19f
docs:新增Java 后端面试通关计划(涵盖后端通用体系)
Snailclimb Mar 2, 2026
804e53c
Enhance explanation of MySQL redo log and binlog handling
Ka1Yann Mar 3, 2026
4a67a0e
docs:补充 zab 协议介绍&分布式内容完善
Snailclimb Mar 4, 2026
148959b
docs:面试准备内容优化
Snailclimb Mar 4, 2026
15e369c
Merge pull request #2788 from Ka1Yann/patch-2
Snailclimb Mar 4, 2026
c4c9a13
Merge branch 'main' of github.com:Snailclimb/JavaGuide
Snailclimb Mar 4, 2026
eaed166
Merge pull request #2787 from Hazehacker/main
Snailclimb Mar 4, 2026
744d1dd
Merge branch 'main' of github.com:Snailclimb/JavaGuide
Snailclimb Mar 4, 2026
90135e9
Update ConcurrentHashMap summary for Java 8
memeer Mar 5, 2026
cffb9d3
docs: 线程池文章新增生命周期状态、Worker机制、拒绝策略应用场景三节
REALROOK1E Mar 7, 2026
3dddee3
docs: 完善Java并发面试题和AQS详解文档
REALROOK1E Mar 7, 2026
d11d56b
docs: 补充 ThreadLocal 内存泄漏深入分析
REALROOK1E Mar 7, 2026
002f332
fix:外键描述修正
Snailclimb Mar 8, 2026
763ea09
Merge pull request #2794 from REALROOK1E/main
Snailclimb Mar 8, 2026
5738a15
Merge pull request #2790 from memeer/patch-1
Snailclimb Mar 8, 2026
159044c
Fix Shell script examples to use double brackets for safer variable c…
04cb Mar 8, 2026
4f08d5c
Merge pull request #2795 from 04cb/fix/shell-script-single-brackets
Snailclimb Mar 8, 2026
4f4fee1
docs:优化 shell 编程内容
Snailclimb Mar 8, 2026
3a9524c
docs:优化完善对redis持久化机制的介绍
Snailclimb Mar 8, 2026
ae94636
Fix typo in RabbitMQ documentation
creeper521 Mar 8, 2026
e7a157a
docs:补充redis持久化机制历程配图,优化fork性能分析、如何选择 RDB 和 AOF等内容介绍
Snailclimb Mar 8, 2026
1da9bda
Merge pull request #2796 from creeper521/patch-3
Snailclimb Mar 8, 2026
34a08fe
Merge branch 'main' of github.com:Snailclimb/JavaGuide
Snailclimb Mar 8, 2026
3a59af8
Merge branch 'main' of github.com:Snailclimb/JavaGuide
Snailclimb Mar 8, 2026
8d5f129
fix: Java 后端面试通关计划(涵盖后端通用体系)中的链接错误修复
Snailclimb Mar 9, 2026
2db3811
docs:mysql索引失效场景面试高频考点,单独提取一篇文章详解
Snailclimb Mar 9, 2026
de0f5f5
docs:完善rabbitmq面试题
Snailclimb Mar 9, 2026
8627578
docs:优化MySQL执行计划分析+MySQL查询缓存详解
Snailclimb Mar 10, 2026
df19c6a
docs:MySQL执行计划分析新增测试案例
Snailclimb Mar 10, 2026
5a9a584
docs:完善多篇文章内容(MySQL索引失效/Redis持久化/RabbitMQ面试题/LinkedHashMap源码)
Snailclimb Mar 11, 2026
2d0d63f
docs:分布式配置中心开放阅读
Snailclimb Mar 12, 2026
526a76d
docs:《后端面试高频系统设计&场景题》介绍完善
Snailclimb Mar 12, 2026
9923b26
docs: 完善 CDN 和数据冷热分离
Snailclimb Mar 13, 2026
6798a05
docs:高并发部分文章优化完善
Snailclimb Mar 13, 2026
0f960e3
fix: 修正路由示例错误
UserXSX Mar 20, 2026
2a19e80
fix: Issue#2650 - 修复CAS示例代码的并发打印问题和livelock
Senrian Mar 20, 2026
7d311a5
docs:新增 java26 新特性
Snailclimb Mar 21, 2026
a744f6a
Merge pull request #2798 from UserXSX/main
Snailclimb Mar 23, 2026
7fb60cf
docs:新增为什么忘记密码时只能重置,不能告诉你原密码?
Snailclimb Mar 23, 2026
92f3ac1
docs:完善敏感词过滤方案总结
Snailclimb Mar 23, 2026
80566c5
fix: pin 1 unpinned action(s)
dagecko Mar 26, 2026
7a4b977
docs:AI 相关文章添加
Snailclimb Mar 26, 2026
dd436d6
feat: 新增 AI 应用开发面试指南模块
Snailclimb Mar 26, 2026
f39d76d
Merge pull request #2800 from dagecko/runner-guard/fix-ci-security
Snailclimb Mar 26, 2026
2568cf8
Merge pull request #2801 from Senrian/main
Snailclimb Mar 26, 2026
684ee3f
build(deps): bump undici from 7.18.2 to 7.24.6
dependabot[bot] Mar 26, 2026
0126e03
Merge pull request #2802 from Snailclimb/dependabot/npm_and_yarn/undi…
Snailclimb Mar 26, 2026
456f536
Update java8-tutorial-translate.md
kimagery Mar 27, 2026
5bba638
docs:新增两篇 AI Coding 实践
Snailclimb Mar 29, 2026
512f335
Update comments on static variable storage in Java
ZhangChunJie1 Mar 29, 2026
a6df146
docs(ai): 补充 Agent 文章并更新 AI 区导航
Snailclimb Mar 29, 2026
4978a39
Merge pull request #2806 from ZhangChunJie1/patch-1
Snailclimb Mar 30, 2026
a0ac4de
Merge pull request #2803 from kimagery/kimagery-patch-1
Snailclimb Mar 30, 2026
b2d4759
test
Senrian Mar 31, 2026
3a44d67
fix: 修正Spring注解文章标题并添加注解分类总结表 (fix #2656)
Senrian Mar 31, 2026
721a06f
Merge pull request #2807 from Senrian/fix/spring-annotations-title
Snailclimb Mar 31, 2026
9fe4f7c
fix: remove duplicate content in agent-basis.md (fix #2808)
Senrian Apr 1, 2026
eaaa61d
Merge pull request #2810 from Senrian/fix-duplicate-v3
Snailclimb Apr 2, 2026
6110a49
docs: clarify thread pool worker count wording
suyua9 Apr 3, 2026
1819ec4
fix(redis): correct appendfsync always description - main thread fsyn…
Senrian Apr 6, 2026
826161e
fix(redis): correct appendfsync always description in blocking proble…
Senrian Apr 6, 2026
646757a
fix(redis): correct appendfsync always in Q&A doc
Senrian Apr 6, 2026
192a543
chore: remove translation tool scripts and docs
Snailclimb Apr 6, 2026
f41207d
Merge pull request #2816 from Senrian/fix-appendfsync-always
Snailclimb Apr 6, 2026
d8677d4
Merge pull request #2813 from suyua9/docs/clarify-thread-pool-worker-…
Snailclimb Apr 6, 2026
e2d92c3
docs: update MCP transport from HTTP+SSE to Streamable HTTP
Snailclimb Apr 6, 2026
fa84d91
fix: clarify classloader core-class loading example
buyua9 Apr 7, 2026
c2ef132
docs: 优化 RAG 和敏感词过滤文档,更新依赖版本
Snailclimb Apr 8, 2026
3f86a8c
docs:格式修正
Snailclimb Apr 8, 2026
ae512a6
Merge pull request #2817 from buyua9/fix/classloader-parent-delegatio…
Snailclimb Apr 8, 2026
6931160
docs: 新增 Claude Code 接入第三方模型实战文章
Snailclimb Apr 8, 2026
b459f6d
docs: 新增 Harness Engineering 文章
Snailclimb Apr 8, 2026
c66d659
docs(sidebar): reorder data-structure entries in VuePress sidebar
paigeman Apr 9, 2026
6a2ce6e
Merge pull request #2819 from paigeman/main
Snailclimb Apr 9, 2026
2839f2b
fix: 修正增强 for 循环中 Iterator fail-fast 机制的描述
Snailclimb Apr 9, 2026
d30088b
Merge pull request #2820 from Snailclimb/fix/syntactic-sugar-iterator…
Snailclimb Apr 9, 2026
3d22d02
docs:AI部分文章文字优化润色
Snailclimb Apr 10, 2026
1c5e23b
改正了类型擦除的英文表述
makabakai Apr 12, 2026
8570160
docs:新增Context Engineering和Prompt Engineering
Snailclimb Apr 12, 2026
bc97054
docs:AI部分文章文字优化润色
Snailclimb Apr 13, 2026
d901c75
Add files via upload
6666ccc Apr 13, 2026
96bf7d9
Merge pull request #2826 from 6666ccc/main
Snailclimb Apr 13, 2026
aac8d31
Merge pull request #2824 from makabakai/patch-1
Snailclimb Apr 13, 2026
6358a37
docs: 新增 AI 工作流 Workflow、Graph 与 Loop 文章
Snailclimb Apr 13, 2026
9be884e
docs: 移除 AI Agent 系列文章中无效的 icon 字段
Snailclimb Apr 13, 2026
226f968
docs: 优化工作流文章排版,配图改用 SVG 格式
Snailclimb Apr 13, 2026
38f77e3
fix: 修正 GC 章节中"运行时常量池"为"字符串常量池" (#2828)
lzmsomuch Apr 15, 2026
b7b3f1a
fix: correct volatile description for AQS state variable (issue #2516…
Senrian Apr 15, 2026
9693847
docs: 规范化 zhuanlan 目录文章排版,优化 Harness Engineering 文章
Snailclimb Apr 15, 2026
dfda90c
fix: 修复 Dependabot 安全告警,升级间接依赖版本
Snailclimb Apr 16, 2026
33a7c3a
Update interview-guide.md
Snailclimb Apr 16, 2026
8b9d7da
Update mysql-questions-01.md (#2830)
173846635 Apr 16, 2026
21795fc
docs: fix tryReleaseShared parameter type (issue #2832)
Senrian Apr 17, 2026
bf17588
docs: 新增 Claude Code 使用指南与 Codex 最佳实践指南
Snailclimb Apr 21, 2026
b9d5d7e
build(deps): bump @xmldom/xmldom from 0.9.9 to 0.9.10
dependabot[bot] Apr 22, 2026
f30f7d5
docs: 优化完善对skills和AI工作流的介绍
Snailclimb Apr 22, 2026
d64903a
docs: clarify connector permission check in MySQL execution flow (fix…
Senrian Apr 25, 2026
85a0bb4
补充 OpenAI 官方工具 (#2839)
5ME Apr 25, 2026
673e6af
fix: 修正关于CountDownLatch使用场景的描述 (#2837)
YuchangLi Apr 25, 2026
0fc3530
Update rag-vector-store.md
Snailclimb Apr 25, 2026
acf1426
docs(mysql): clarify boolean type mapping
zuyua9 Apr 30, 2026
c2579a7
更新下README和主页
Snailclimb Apr 30, 2026
a6064ba
fix: 修正 ZonedDateTime 转 LocalDateTime 输出示例中的时间错误
Snailclimb Apr 30, 2026
629860f
Merge pull request #2841 from zuyua9/docs/mysql-boolean-type
Snailclimb Apr 30, 2026
56c7b13
Merge pull request #2838 from Senrian/fix-issue-2466
Snailclimb Apr 30, 2026
c0198d7
Merge pull request #2835 from Snailclimb/dependabot/npm_and_yarn/xmld…
Snailclimb Apr 30, 2026
39a3022
fix: 修正 AQS 表格中 tryReleaseShared 的参数类型为 int
Snailclimb Apr 30, 2026
210d711
优化 StringBuffer 与 StringBuilder 性能说明,避免歧义 (#2843)
fffg-o May 3, 2026
01ab2d8
fix: 修正 AOT/JIT 优势描述中打包体积的归属 (#2842)
fffg-o May 3, 2026
f4e0c04
Update explanation of reentrant locks in Java
LunaSpica May 4, 2026
a7395d1
Merge pull request #2846 from LunaSpica/patch-1
Snailclimb May 5, 2026
64541c6
fix: 修正优先级队列描述,区分消息优先级与队列优先级 (close #2847)
Senrian May 7, 2026
341b5ff
docs(ai): 完善 Claude Code 记忆系统文档
Snailclimb May 7, 2026
3bb1560
docs(rag): 恢复 RAG 系列文档
Snailclimb May 7, 2026
a0c7363
docs(ai): 恢复 Agent 系列文档优化
Snailclimb May 7, 2026
cd61664
Update agent-memory.md
Snailclimb May 7, 2026
231f8a9
style: 运行 prettier 格式化文档
Snailclimb May 7, 2026
54f2f73
docs(ai): 更新侧边栏目录
Snailclimb May 7, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
30 changes: 30 additions & 0 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Docs Test

on:
- push
- pull_request

jobs:
test-docs:
name: Test docs
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v6

- name: Install pnpm
uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4

- name: Setup Node.js
uses: actions/setup-node@v6
with:
node-version: 22
cache: pnpm

- name: Install deps
run: pnpm install --frozen-lockfile

- name: Build test
env:
NODE_OPTIONS: --max_old_space_size=4096
run: pnpm docs:build
25 changes: 16 additions & 9 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,17 +1,24 @@
/node_modules
/package-lock.json
node_modules/
# *.drawio
*.drawio.bkp
.DS_Store
# VS Code Config file
.vscode/
# Vuepress Cache
.cache/
# Vuepress Temp
.temp/
# Vuepress Output
# VuePress Cache
**/.vuepress/.cache/
# VuePress Temp
**/.vuepress/.temp/
# VuePress Output
dist/
# Build files
packages/*/lib/
traversal-folder-replace-string.py
format-markdown.py

.npmrc
package-lock.json
lintmd-config.json
.claude/settings.local.json
<<<<<<< Updated upstream
=======
/.obsidian
docs/ai/claude.md
>>>>>>> Stashed changes
1 change: 1 addition & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pnpm nano-staged
28 changes: 28 additions & 0 deletions .markdownlint-cli2.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
export default {
config: {
default: true,
MD003: {
style: "atx",
},
MD004: {
style: "dash",
},
MD010: false,
MD013: false,
MD024: {
allow_different_nesting: true,
},
MD035: {
style: "---",
},
MD036: false,
MD040: false,
MD045: false,
MD046: false,
},
ignores: [
"**/node_modules/**",
// markdown import demo
"**/*.snippet.md",
],
};
15 changes: 15 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Vuepress Cache
**/.vuepress/.cache/**
# Vuepress Temp
**/.vuepress/.temp/**
# Vuepress Output
dist/

# Node modules
node_modules/

# pnpm lock file
pnpm-lock.yaml

index.html
sw.js
375 changes: 0 additions & 375 deletions README.en.md

This file was deleted.

301 changes: 164 additions & 137 deletions README.md

Large diffs are not rendered by default.

452 changes: 452 additions & 0 deletions README_EN.md

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions docs/.vuepress/client.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
import { defineClientConfig } from "vuepress/client";
import { h } from "vue";
import LayoutToggle from "./components/LayoutToggle.vue";
import GlobalUnlock from "./components/unlock/GlobalUnlock.vue";
import UnlockContent from "./components/unlock/UnlockContent.vue";

export default defineClientConfig({
enhance({ app }) {
app.component("UnlockContent", UnlockContent);
},
rootComponents: [() => h(LayoutToggle), () => h(GlobalUnlock)],
});
142 changes: 142 additions & 0 deletions docs/.vuepress/components/LayoutToggle.vue
Original file line number Diff line number Diff line change
@@ -0,0 +1,142 @@
<template>
<button
class="layout-toggle-btn"
:class="{ 'is-hidden': isHidden }"
:title="isHidden ? '退出沉浸式阅读' : '沉浸式阅读'"
@click="toggleLayout"
>
<svg
xmlns="http://www.w3.org/2000/svg"
width="16"
height="16"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path
v-if="!isHidden"
d="M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"
/>
<path
v-else
d="M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"
/>
</svg>
<span class="btn-text">{{ isHidden ? "退出沉浸" : "沉浸阅读" }}</span>
</button>
</template>

<script setup lang="ts">
import { ref, onMounted, watch, computed } from "vue";
import { usePageData } from "vuepress/client";

const isHidden = ref(false);
const pageData = usePageData();

const STORAGE_KEY = "javaguide-layout-hidden";
const IMMERSIVE_TITLE = "JavaGuide - 沉浸式阅读中";

// 计算当前页面的原始标题
const originalTitle = computed(() => {
const title = pageData.value.title;
const siteTitle = "JavaGuide";
return title ? `${title} | ${siteTitle}` : siteTitle;
});

const toggleLayout = () => {
isHidden.value = !isHidden.value;
};

// 更新浏览器标题
const updateBrowserTitle = (hidden: boolean) => {
if (typeof document === "undefined") return;
document.title = hidden ? IMMERSIVE_TITLE : originalTitle.value;
};

// 应用隐藏状态
const applyHiddenState = (hidden: boolean) => {
if (typeof document === "undefined") return;
document.documentElement.classList.toggle("layout-hidden", hidden);
updateBrowserTitle(hidden);
};

// 监听沉浸模式状态变化
watch(isHidden, (newVal) => {
applyHiddenState(newVal);
localStorage?.setItem(STORAGE_KEY, String(newVal));
});

// 监听页面切换,更新标题
watch(
() => pageData.value.path,
() => {
if (isHidden.value) {
updateBrowserTitle(true);
}
},
);

onMounted(() => {
const saved = localStorage?.getItem(STORAGE_KEY);
if (saved === "true") {
isHidden.value = true;
applyHiddenState(true);
}
});
</script>

<style lang="scss" scoped>
.layout-toggle-btn {
position: fixed;
right: 20px;
bottom: 150px;
z-index: 999;
display: flex;
align-items: center;
justify-content: center;
gap: 6px;
height: 36px;
padding: 0 14px;
font-size: 13px;
color: var(--vp-c-text);
background: var(--vp-c-bg);
border: 1px solid var(--vp-c-border);
border-radius: 18px;
box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
cursor: pointer;
transition: all 0.3s ease;
white-space: nowrap;

&:hover {
color: var(--vp-c-accent);
border-color: var(--vp-c-accent);
transform: scale(1.02);
}

&.is-hidden {
background: var(--vp-c-accent);
color: #fff;
border-color: var(--vp-c-accent);
}

svg {
width: 16px;
height: 16px;
flex-shrink: 0;
}

.btn-text {
font-weight: 500;
}
}

// 移动端和平板隐藏按钮
@media (max-width: 959px) {
.layout-toggle-btn {
display: none;
}
}
</style>
Loading