@@ -2,7 +2,7 @@ module.exports = {
22 port : "8080" ,
33 dest : "./dist" ,
44 base : "/" ,
5- // 开启默认预加载js
5+ // 预加载js
66 shouldPrefetch : ( file , type ) => {
77 return true ;
88 } ,
@@ -60,6 +60,38 @@ module.exports = {
6060 src : 'https://my.openwrite.cn/js/readmore.js'
6161 } ,
6262 ] ,
63+ // 添加 google 分析代码(国内无法访问)
64+ // [
65+ // 'script',
66+ // {
67+ // charset: 'utf-8',
68+ // src: 'https://www.googletagmanager.com/gtag/js?id=G-3ZNNG02JRB'
69+ // },
70+ // ],
71+
72+ // [
73+ // 'script',{},
74+ // `
75+ // window.dataLayer = window.dataLayer || [];
76+ // function gtag(){dataLayer.push(arguments);}
77+ // gtag('js', new Date());
78+
79+ // gtag('config', 'G-3ZNNG02JRB');
80+ // `
81+ // ],
82+ // 百度统计代码(不生效,暂时弃用)
83+ // [
84+ // 'script',{},
85+ // `
86+ // var _hmt = _hmt || [];
87+ // (function() {
88+ // var hm = document.createElement("script");
89+ // hm.src = "https://hm.baidu.com/hm.js?d6bf16d55ae32b3e91abf80026997d55";
90+ // var s = document.getElementsByTagName("script")[0];
91+ // s.parentNode.insertBefore(hm, s);
92+ // })();
93+ // `
94+ // ],
6395 ] ,
6496 plugins : [
6597 [ {
@@ -93,7 +125,6 @@ module.exports = {
93125 docsRepo : "Java-Edge/Java-Interview-Tutorial" ,
94126 // 编辑文档的所在目录
95127 docsDir : 'docs' ,
96- // 文档放在特定分支:
97128 docsBranch : 'main' ,
98129 editLinks : true ,
99130 sidebarDepth : 0 ,
@@ -104,6 +135,7 @@ module.exports = {
104135 selectText : "Languages" ,
105136 editLinkText : "关注GitHub知识库" ,
106137 lastUpdated : "上次更新" ,
138+ logo : `/favicon.ico` ,
107139 nav : [ {
108140 text : '导读' ,
109141 link : '/md/other/guide-to-reading.md'
@@ -238,8 +270,13 @@ module.exports = {
238270 {
239271 text : 'Netty' ,
240272 items : [ {
241- text : 'Netty入门' ,
242- link : '/md/netty/ChannelPipeline接口.md'
273+ text : 'Netty基础' ,
274+ link : '/md/netty/Netty基本组件.md'
275+ } ,
276+
277+ {
278+ text : 'Netty实战' ,
279+ link : '/md/netty/Netty堆外内存泄露排查.md'
243280 } , ]
244281 } ,
245282
@@ -256,17 +293,27 @@ module.exports = {
256293 items : [ {
257294 text : '00-Kafka专栏大纲' ,
258295 link : '/md/kafka/00-Kafka专栏大纲.md'
296+ } ,
297+
298+ {
299+ text : '消息队列基础' ,
300+ link : '/md/kafka/消息队列面试必问解析.md'
259301 } , ]
260302 } ,
261303
262304 {
263305 text : 'RocketMQ' ,
264306 items : [ {
265- text : '01-RocketMQ核心内容 ' ,
307+ text : 'RocketMQ基础 ' ,
266308 link : '/md/RocketMQ/01-RocketMQ核心内容.md'
267309 } ,
268310 {
269- text : '02-基于电商场景的高并发RocketMQ实战' ,
311+ text : 'RocketMQ存储设计' ,
312+ link : '/md/RocketMQ/核心概念.md'
313+ } ,
314+
315+ {
316+ text : 'RocketMQ业务实战' ,
270317 link : '/md/RocketMQ/02-基于电商场景的高并发RocketMQ实战.md'
271318 } ,
272319 ]
@@ -682,7 +729,7 @@ module.exports = {
682729 } ,
683730 {
684731 text : 'LLM应用开发' ,
685- link : '/md/AI/AI 大模型企业应用实战 '
732+ link : '/md/AI/AI大模型企业应用实战 '
686733 } ,
687734 {
688735 text : 'LangChain' ,
@@ -1183,7 +1230,7 @@ module.exports = {
11831230 "SpringMVC-DispatcherServlet-doDispatch" ,
11841231 ]
11851232 } ,
1186-
1233+
11871234 {
11881235 title : "SpringBoot" ,
11891236 collapsable : false ,
@@ -1205,6 +1252,7 @@ module.exports = {
12051252 "01-Jetty架构设计之Connector、Handler组件" ,
12061253 "03-Tomcat的生命周期管理" ,
12071254 "04-Tomcat实现热部署、热加载原理解析" ,
1255+ "05-Tomcat如何打破双亲委派机制实现隔离Web应用的?" ,
12081256 ]
12091257 } ] ,
12101258
@@ -1262,6 +1310,9 @@ module.exports = {
12621310 children : [
12631311 "integrating-event-driven-microservices-with-request-response-APIs" ,
12641312 "decouple-event-retrieval-from-processing" ,
1313+ "use-circuit-breaker-to-pause-event-retrieval" ,
1314+ "rate-limit-event-processing" ,
1315+ "event-versioning" ,
12651316 ]
12661317 } ,
12671318 {
@@ -1290,6 +1341,8 @@ module.exports = {
12901341 "mysql-read-write-splitting" ,
12911342 "为什么临时表可以重名?" ,
12921343 "MySQL深分页调优实战" ,
1344+ "为什么阿里不推荐使用MySQL分区表?" ,
1345+ "一文看懂这篇MySQL的锁机制" ,
12931346 ]
12941347 } ] ,
12951348
@@ -1383,7 +1436,7 @@ module.exports = {
13831436 } ] ,
13841437
13851438 "/md/netty/" : [ {
1386- title : "Netty " ,
1439+ title : "Netty基础 " ,
13871440 collapsable : false ,
13881441 sidebarDepth : 0 ,
13891442 children : [
@@ -1394,7 +1447,16 @@ module.exports = {
13941447 "11-4-解码基于分隔符的协议和基于长度的协议" ,
13951448 "18-检测新连接" ,
13961449 ]
1397- } ] ,
1450+ } ,
1451+
1452+ {
1453+ title : "Netty实战" ,
1454+ collapsable : false ,
1455+ sidebarDepth : 0 ,
1456+ children : [
1457+ "Netty堆外内存泄露排查" ,
1458+ ]
1459+ } , ] ,
13981460
13991461 "/md/kafka" : [ {
14001462 title : "Kafka" ,
@@ -1408,22 +1470,54 @@ module.exports = {
14081470 "09-消息队列的消息大量积压怎么办?" ,
14091471 "15-基于kafka实现延迟队列"
14101472 ]
1411- } ] ,
1412-
1413- "/md/RocketMQ/" : [ {
1414- title : "RocketMQ " ,
1473+ } ,
1474+
1475+ {
1476+ title : "消息队列基础 " ,
14151477 collapsable : false ,
14161478 sidebarDepth : 0 ,
14171479 children : [
1418- "01-RocketMQ核心内容" ,
1419- "01-基本概念" ,
1420- "02-下载安装" ,
1421- "03-消息的有序性" ,
1422- "04 - 订阅机制和定时消息" ,
1423- "05 - 批量消息和事务消息" ,
1424- "02-基于电商场景的高并发RocketMQ实战" ,
1480+ "消息队列面试必问解析" ,
14251481 ]
1426- } ] ,
1482+ } , ] ,
1483+
1484+ "/md/RocketMQ/" : [ {
1485+ title : "RocketMQ基础" ,
1486+ collapsable : false ,
1487+ sidebarDepth : 0 ,
1488+ children : [
1489+ "01-RocketMQ核心内容" ,
1490+ "RocketMQ各版本新特性" ,
1491+ "01-基本概念" ,
1492+ "02-下载安装" ,
1493+ "03-消息的有序性" ,
1494+ "04 - 订阅机制" ,
1495+ "RocketMQ的延时消息" ,
1496+ "RocketMQ 5.x任意时间延时消息原理" ,
1497+ "05 - 批量消息和事务消息" ,
1498+ ]
1499+ } ,
1500+
1501+ {
1502+ title : "RocketMQ存储设计" ,
1503+ collapsable : false ,
1504+ sidebarDepth : 0 ,
1505+ children : [
1506+ "核心概念" ,
1507+ ]
1508+ } ,
1509+
1510+ {
1511+ title : "RocketMQ业务实战" ,
1512+ collapsable : false ,
1513+ sidebarDepth : 0 ,
1514+ children : [
1515+ "02-基于电商场景的高并发RocketMQ实战" ,
1516+ "RocketMQ在基金大厂的分布式事务实践" ,
1517+ ]
1518+ } ,
1519+
1520+ ] ,
14271521 "/md/rabbitmq" : [ {
14281522 title : "RabbitMQ" ,
14291523 collapsable : false ,
@@ -1730,7 +1824,7 @@ module.exports = {
17301824 collapsable : false ,
17311825 sidebarDepth : 0 ,
17321826 children : [
1733- "AI 大模型企业应用实战 " ,
1827+ "AI大模型企业应用实战 " ,
17341828 "00-为什么要学习大模型" ,
17351829 "01-大语言模型发展" ,
17361830 "02-domestic-and-international-llm-multi-model-strong-applications" ,
@@ -1805,6 +1899,7 @@ module.exports = {
18051899 sidebarDepth : 0 ,
18061900 children : [
18071901 "00-introduce-to-LangGraph" ,
1902+ "langgraph-studio" ,
18081903 ]
18091904 } ,
18101905 ] ,
@@ -1824,6 +1919,16 @@ module.exports = {
18241919 "阿里P8架构师都是怎么分析软件模型的?" ,
18251920 ]
18261921 } ,
1922+ {
1923+ title : "设计原则" ,
1924+ collapsable : false ,
1925+ sidebarDepth : 0 ,
1926+ children : [
1927+ "阿里P8架构师都是怎么分析软件模型的?" ,
1928+ "rest-api-design-resource-modeling" ,
1929+ ]
1930+ } ,
1931+
18271932 {
18281933 title : "设计模式" ,
18291934 collapsable : false ,
@@ -1894,6 +1999,7 @@ module.exports = {
18941999 "Flink部署及任务提交" ,
18952000 "flink-programming-paradigms-core-concepts" ,
18962001 "flink-architecture" ,
2002+ "flink-broadcast-state" ,
18972003 "flink-state-management" ,
18982004 "flink-state-backend" ,
18992005 "05-Flink实战DataStream API编程" ,
0 commit comments