@@ -270,14 +270,15 @@ module.exports = {
270270 {
271271 text : 'Netty' ,
272272 items : [ {
273- text : 'Netty基础' ,
274- link : '/md/netty/Netty基本组件.md'
275- } ,
276- 277- {
278- text : 'Netty实战' ,
279- link : '/md/netty/Netty堆外内存泄露排查.md'
280- } , ]
273+ text : 'Netty基础' ,
274+ link : '/md/netty/Netty基本组件.md'
275+ } ,
276+ 277+ {
278+ text : 'Netty实战' ,
279+ link : '/md/netty/netty-off-heap-memory-leak-detection.md'
280+ } ,
281+ ]
281282 } ,
282283
283284 {
@@ -288,16 +289,20 @@ module.exports = {
288289 } ]
289290 } ,
290291
292+ 293+ {
294+ text : '消息队列基础' ,
295+ items : [ {
296+ text : '消息队列基础' ,
297+ link : '/md/mq/消息队列面试必问解析.md'
298+ } ]
299+ } ,
300+ 291301 {
292302 text : 'Kafka' ,
293303 items : [ {
294- text : '00-Kafka专栏大纲 ' ,
304+ text : 'Kafka基础 ' ,
295305 link : '/md/kafka/00-Kafka专栏大纲.md'
296- } ,
297- 298- {
299- text : '消息队列基础' ,
300- link : '/md/kafka/消息队列面试必问解析.md'
301306 } , ]
302307 } ,
303308
@@ -311,7 +316,7 @@ module.exports = {
311316 text : 'RocketMQ存储设计' ,
312317 link : '/md/RocketMQ/核心概念.md'
313318 } ,
314-
319+ 315320 {
316321 text : 'RocketMQ业务实战' ,
317322 link : '/md/RocketMQ/02-基于电商场景的高并发RocketMQ实战.md'
@@ -1162,6 +1167,7 @@ module.exports = {
11621167 "java-se-support-roadmap" ,
11631168 "Java9新特性概述" ,
11641169 "jdk14-new-features-complete-guide" ,
1170+ "JDK16新特性" ,
11651171 "understanding-java17-new-features-sealed-classes" ,
11661172 "JDK21新特性" ,
11671173 "JDK22新特性" ,
@@ -1436,30 +1442,31 @@ module.exports = {
14361442 } ] ,
14371443
14381444 "/md/netty/" : [ {
1439- title : "Netty基础" ,
1440- collapsable : false ,
1441- sidebarDepth : 0 ,
1442- children : [
1443- "netty-basic-components" ,
1444- "ChannelPipeline接口" ,
1445- "(06-1)-ChannelHandler 家族" ,
1446- "(08)-学习Netty BootStrap的核心知识,成为网络编程高手!" ,
1447- "11-4-解码基于分隔符的协议和基于长度的协议" ,
1448- "18-检测新连接" ,
1449- ]
1450- } ,
1451- 1452- {
1453- title : "Netty实战" ,
1454- collapsable : false ,
1455- sidebarDepth : 0 ,
1456- children : [
1457- "Netty堆外内存泄露排查" ,
1458- ]
1459- } , ] ,
1445+ title : "Netty基础" ,
1446+ collapsable : false ,
1447+ sidebarDepth : 0 ,
1448+ children : [
1449+ "netty-basic-components" ,
1450+ "ChannelPipeline接口" ,
1451+ "(06-1)-ChannelHandler 家族" ,
1452+ "(08)-学习Netty BootStrap的核心知识,成为网络编程高手!" ,
1453+ "11-4-解码基于分隔符的协议和基于长度的协议" ,
1454+ "18-检测新连接" ,
1455+ ]
1456+ } ,
1457+ 1458+ {
1459+ title : "Netty实战" ,
1460+ collapsable : false ,
1461+ sidebarDepth : 0 ,
1462+ children : [
1463+ "netty-off-heap-memory-leak-detection" ,
1464+ ]
1465+ } ,
1466+ ] ,
14601467
14611468 "/md/kafka" : [ {
1462- title : "Kafka " ,
1469+ title : "Kafka基础 " ,
14631470 collapsable : false ,
14641471 sidebarDepth : 0 ,
14651472 children : [
@@ -1468,18 +1475,20 @@ module.exports = {
14681475 "kafka-versions" ,
14691476 "08-全网最全图解Kafka适用场景" ,
14701477 "09-消息队列的消息大量积压怎么办?" ,
1471- "15-基于kafka实现延迟队列"
1478+ "15-基于kafka实现延迟队列" ,
1479+ "kafka-transaction-implementation"
14721480 ]
1473- } ,
1474-
1475- {
1481+ } , ] ,
1482+ 1483+ "/md/mq" : [ {
14761484 title : "消息队列基础" ,
14771485 collapsable : false ,
14781486 sidebarDepth : 0 ,
14791487 children : [
14801488 "消息队列面试必问解析" ,
1489+ "消息队列的事务消息" ,
14811490 ]
1482- } , ] ,
1491+ } , ] ,
14831492
14841493 "/md/RocketMQ/" : [ {
14851494 title : "RocketMQ基础" ,
@@ -1495,6 +1504,7 @@ module.exports = {
14951504 "RocketMQ的延时消息" ,
14961505 "RocketMQ 5.x任意时间延时消息原理" ,
14971506 "05 - 批量消息和事务消息" ,
1507+ "RocketMQ如何实现事务?" ,
14981508 ]
14991509 } ,
15001510
@@ -1506,7 +1516,7 @@ module.exports = {
15061516 "核心概念" ,
15071517 ]
15081518 } ,
1509-
1519+ 15101520 {
15111521 title : "RocketMQ业务实战" ,
15121522 collapsable : false ,
0 commit comments