@@ -270,14 +270,15 @@ module.exports = {
270
270
{
271
271
text : 'Netty' ,
272
272
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
+ ]
281
282
} ,
282
283
283
284
{
@@ -288,16 +289,20 @@ module.exports = {
288
289
} ]
289
290
} ,
290
291
292
+
293
+ {
294
+ text : '消息队列基础' ,
295
+ items : [ {
296
+ text : '消息队列基础' ,
297
+ link : '/md/mq/消息队列面试必问解析.md'
298
+ } ]
299
+ } ,
300
+
291
301
{
292
302
text : 'Kafka' ,
293
303
items : [ {
294
- text : '00-Kafka专栏大纲 ' ,
304
+ text : 'Kafka基础 ' ,
295
305
link : '/md/kafka/00-Kafka专栏大纲.md'
296
- } ,
297
-
298
- {
299
- text : '消息队列基础' ,
300
- link : '/md/kafka/消息队列面试必问解析.md'
301
306
} , ]
302
307
} ,
303
308
@@ -311,7 +316,7 @@ module.exports = {
311
316
text : 'RocketMQ存储设计' ,
312
317
link : '/md/RocketMQ/核心概念.md'
313
318
} ,
314
-
319
+
315
320
{
316
321
text : 'RocketMQ业务实战' ,
317
322
link : '/md/RocketMQ/02-基于电商场景的高并发RocketMQ实战.md'
@@ -1162,6 +1167,7 @@ module.exports = {
1162
1167
"java-se-support-roadmap" ,
1163
1168
"Java9新特性概述" ,
1164
1169
"jdk14-new-features-complete-guide" ,
1170
+ "JDK16新特性" ,
1165
1171
"understanding-java17-new-features-sealed-classes" ,
1166
1172
"JDK21新特性" ,
1167
1173
"JDK22新特性" ,
@@ -1436,30 +1442,31 @@ module.exports = {
1436
1442
} ] ,
1437
1443
1438
1444
"/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
+ ] ,
1460
1467
1461
1468
"/md/kafka" : [ {
1462
- title : "Kafka " ,
1469
+ title : "Kafka基础 " ,
1463
1470
collapsable : false ,
1464
1471
sidebarDepth : 0 ,
1465
1472
children : [
@@ -1468,18 +1475,20 @@ module.exports = {
1468
1475
"kafka-versions" ,
1469
1476
"08-全网最全图解Kafka适用场景" ,
1470
1477
"09-消息队列的消息大量积压怎么办?" ,
1471
- "15-基于kafka实现延迟队列"
1478
+ "15-基于kafka实现延迟队列" ,
1479
+ "kafka-transaction-implementation"
1472
1480
]
1473
- } ,
1474
-
1475
- {
1481
+ } , ] ,
1482
+
1483
+ "/md/mq" : [ {
1476
1484
title : "消息队列基础" ,
1477
1485
collapsable : false ,
1478
1486
sidebarDepth : 0 ,
1479
1487
children : [
1480
1488
"消息队列面试必问解析" ,
1489
+ "消息队列的事务消息" ,
1481
1490
]
1482
- } , ] ,
1491
+ } , ] ,
1483
1492
1484
1493
"/md/RocketMQ/" : [ {
1485
1494
title : "RocketMQ基础" ,
@@ -1495,6 +1504,7 @@ module.exports = {
1495
1504
"RocketMQ的延时消息" ,
1496
1505
"RocketMQ 5.x任意时间延时消息原理" ,
1497
1506
"05 - 批量消息和事务消息" ,
1507
+ "RocketMQ如何实现事务?" ,
1498
1508
]
1499
1509
} ,
1500
1510
@@ -1506,7 +1516,7 @@ module.exports = {
1506
1516
"核心概念" ,
1507
1517
]
1508
1518
} ,
1509
-
1519
+
1510
1520
{
1511
1521
title : "RocketMQ业务实战" ,
1512
1522
collapsable : false ,
0 commit comments