vault backup: 2026-03-08 11:22:59

This commit is contained in:
2026-03-08 11:22:59 +08:00
parent 34a440b064
commit 932dc8844d
4 changed files with 1620 additions and 13 deletions

View File

@@ -13,12 +13,12 @@
"state": { "state": {
"type": "markdown", "type": "markdown",
"state": { "state": {
"file": "10-中间件/Java NIO核心原理.md", "file": "10-中间件/Netty核心原理.md",
"mode": "source", "mode": "source",
"source": false "source": false
}, },
"icon": "lucide-file", "icon": "lucide-file",
"title": "Java NIO核心原理" "title": "Netty核心原理"
} }
} }
] ]
@@ -94,7 +94,7 @@
"state": { "state": {
"type": "backlink", "type": "backlink",
"state": { "state": {
"file": "10-中间件/Java NIO核心原理.md", "file": "10-中间件/Netty核心原理.md",
"collapseAll": false, "collapseAll": false,
"extraContext": false, "extraContext": false,
"sortOrder": "alphabetical", "sortOrder": "alphabetical",
@@ -104,7 +104,7 @@
"unlinkedCollapsed": true "unlinkedCollapsed": true
}, },
"icon": "links-coming-in", "icon": "links-coming-in",
"title": "Java NIO核心原理 的反向链接列表" "title": "Netty核心原理 的反向链接列表"
} }
}, },
{ {
@@ -113,12 +113,12 @@
"state": { "state": {
"type": "outgoing-link", "type": "outgoing-link",
"state": { "state": {
"file": "10-中间件/Java NIO核心原理.md", "file": "10-中间件/Netty核心原理.md",
"linksCollapsed": false, "linksCollapsed": false,
"unlinkedCollapsed": true "unlinkedCollapsed": true
}, },
"icon": "links-going-out", "icon": "links-going-out",
"title": "Java NIO核心原理 的出链列表" "title": "Netty核心原理 的出链列表"
} }
}, },
{ {
@@ -156,13 +156,13 @@
"state": { "state": {
"type": "outline", "type": "outline",
"state": { "state": {
"file": "10-中间件/Java NIO核心原理.md", "file": "10-中间件/Netty核心原理.md",
"followCursor": false, "followCursor": false,
"showSearch": false, "showSearch": false,
"searchQuery": "" "searchQuery": ""
}, },
"icon": "lucide-list", "icon": "lucide-list",
"title": "Java NIO核心原理 的大纲" "title": "Netty核心原理 的大纲"
} }
}, },
{ {
@@ -198,12 +198,15 @@
}, },
"active": "fcbc762a80282002", "active": "fcbc762a80282002",
"lastOpenFiles": [ "lastOpenFiles": [
"10-中间件/Buffer核心属性.excalidraw",
"10-中间件/Selector多路复用模型.excalidraw",
"10-中间件/Java NIO三大核心组件架构.excalidraw",
"10-中间件/Java NIO核心原理.md",
"00-项目概述/项目概述.md", "00-项目概述/项目概述.md",
"questions/02-数据库/MyBatis核心原理.md", "questions/02-数据库/MyBatis核心原理.md",
"Obsidian技能使用指南.md", "Obsidian技能使用指南.md",
"Obsidian可视化插件指南.md", "Obsidian可视化插件指南.md",
"10-中间件/Netty实战场景.md", "10-中间件/Netty实战场景.md",
"10-中间件/Java NIO核心原理.md",
"10-中间件/Netty核心原理.md", "10-中间件/Netty核心原理.md",
"10-中间件", "10-中间件",
"16-LeetCode Hot 100/从前序与中序遍历序列构造二叉树.md", "16-LeetCode Hot 100/从前序与中序遍历序列构造二叉树.md",
@@ -224,15 +227,12 @@
"16-LeetCode Hot 100/括号生成.md", "16-LeetCode Hot 100/括号生成.md",
"16-LeetCode Hot 100/删除链表的倒数第N个结点.md", "16-LeetCode Hot 100/删除链表的倒数第N个结点.md",
"16-LeetCode Hot 100/电话号码的字母组合.md", "16-LeetCode Hot 100/电话号码的字母组合.md",
"16-LeetCode Hot 100/盛最多水的容器.md",
"16-LeetCode Hot 100", "16-LeetCode Hot 100",
"00-项目概述", "00-项目概述",
"questions/15-简历面试", "questions/15-简历面试",
"questions/14-Web3与区块链", "questions/14-Web3与区块链",
"12-面试技巧", "12-面试技巧",
"08-算法与数据结构", "08-算法与数据结构",
"questions/13-Golang语言", "questions/13-Golang语言"
"questions/12-面试技巧",
"questions/11-运维"
] ]
} }

View File

@@ -0,0 +1,588 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "title",
"type": "text",
"x": 350,
"y": 30,
"width": 500,
"height": 35,
"angle": 0,
"strokeColor": "#1e40af",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 1,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Buffer 核心属性与操作方法",
"fontSize": 28,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Buffer 核心属性与操作方法",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "buffer-title",
"type": "text",
"x": 480,
"y": 100,
"width": 240,
"height": 30,
"angle": 0,
"strokeColor": "#1e40af",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 2,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Buffer 内存布局",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Buffer 内存布局",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "processed-box",
"type": "rectangle",
"x": 150,
"y": 160,
"width": 200,
"height": 80,
"angle": 0,
"strokeColor": "#2f9e44",
"backgroundColor": "#b2f2bb",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 3,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "processed-label",
"type": "text",
"x": 200,
"y": 185,
"width": 100,
"height": 30,
"angle": 0,
"strokeColor": "#2b8a3e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 4,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "已处理数据",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "已处理数据",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "readwrite-box",
"type": "rectangle",
"x": 360,
"y": 160,
"width": 280,
"height": 80,
"angle": 0,
"strokeColor": "#1971c2",
"backgroundColor": "#a5d8ff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 5,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "readwrite-label",
"type": "text",
"x": 450,
"y": 185,
"width": 100,
"height": 30,
"angle": 0,
"strokeColor": "#1864ab",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 6,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "可读/写数据",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "可读/写数据",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "inaccessible-box",
"type": "rectangle",
"x": 650,
"y": 160,
"width": 200,
"height": 80,
"angle": 0,
"strokeColor": "#e03131",
"backgroundColor": "#ffc9c9",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 7,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "inaccessible-label",
"type": "text",
"x": 690,
"y": 185,
"width": 120,
"height": 30,
"angle": 0,
"strokeColor": "#c92a2a",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 8,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "不可访问",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "不可访问",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "mark-label",
"type": "text",
"x": 150,
"y": 255,
"width": 70,
"height": 25,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 9,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "mark",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "mark",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "position-label",
"type": "text",
"x": 360,
"y": 255,
"width": 100,
"height": 25,
"angle": 0,
"strokeColor": "#3b82f6",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 10,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "position",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "position",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "limit-label",
"type": "text",
"x": 640,
"y": 255,
"width": 70,
"height": 25,
"angle": 0,
"strokeColor": "#e03131",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 11,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "limit",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "limit",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "capacity-label",
"type": "text",
"x": 850,
"y": 255,
"width": 100,
"height": 25,
"angle": 0,
"strokeColor": "#7c3aed",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 12,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "capacity",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "capacity",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "methods-box",
"type": "rectangle",
"x": 150,
"y": 320,
"width": 700,
"height": 200,
"angle": 0,
"strokeColor": "#5c7cfa",
"backgroundColor": "#d0ebff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 13,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "methods-title",
"type": "text",
"x": 410,
"y": 335,
"width": 180,
"height": 30,
"angle": 0,
"strokeColor": "#364fc7",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 14,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "核心操作方法",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "核心操作方法",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "method1",
"type": "text",
"x": 180,
"y": 385,
"width": 300,
"height": 50,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 15,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "mark「」\n标记当前 position 位置",
"fontSize": 18,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "middle",
"containerId": null,
"originalText": "mark「」\n标记当前 position 位置",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "method2",
"type": "text",
"x": 510,
"y": 385,
"width": 300,
"height": 50,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 16,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "reset「」\n恢复到 mark 位置",
"fontSize": 18,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "middle",
"containerId": null,
"originalText": "reset「」\n恢复到 mark 位置",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "method3",
"type": "text",
"x": 180,
"y": 450,
"width": 300,
"height": 50,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 17,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "clear「」\nposition=0, limit=capacity",
"fontSize": 18,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "middle",
"containerId": null,
"originalText": "clear「」\nposition=0, limit=capacity",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "method4",
"type": "text",
"x": 510,
"y": 450,
"width": 300,
"height": 50,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 18,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "flip「」\nlimit=position, position=0",
"fontSize": 18,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "middle",
"containerId": null,
"originalText": "flip「」\nlimit=position, position=0",
"autoResize": true,
"lineHeight": 1.25
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {}
}

View File

@@ -0,0 +1,520 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "title",
"type": "text",
"x": 400,
"y": 30,
"width": 400,
"height": 35,
"angle": 0,
"strokeColor": "#1e40af",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 1,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Java NIO 三大核心组件",
"fontSize": 28,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Java NIO 三大核心组件",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "channel-box",
"type": "rectangle",
"x": 150,
"y": 150,
"width": 220,
"height": 140,
"angle": 0,
"strokeColor": "#1971c2",
"backgroundColor": "#a5d8ff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 2,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "channel-title",
"type": "text",
"x": 215,
"y": 165,
"width": 90,
"height": 30,
"angle": 0,
"strokeColor": "#1864ab",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 3,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Channel",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Channel",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "channel-desc",
"type": "text",
"x": 160,
"y": 210,
"width": 200,
"height": 65,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 4,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "数据通道\n双向数据流\n非阻塞I/O",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "数据通道\n双向数据流\n非阻塞I/O",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "buffer-box",
"type": "rectangle",
"x": 830,
"y": 150,
"width": 220,
"height": 140,
"angle": 0,
"strokeColor": "#2f9e44",
"backgroundColor": "#b2f2bb",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 5,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "buffer-title",
"type": "text",
"x": 895,
"y": 165,
"width": 90,
"height": 30,
"angle": 0,
"strokeColor": "#2b8a3e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 6,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Buffer",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Buffer",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "buffer-desc",
"type": "text",
"x": 840,
"y": 210,
"width": 200,
"height": 65,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 7,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "数据容器\n数据存储\n读写切换",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "数据容器\n数据存储\n读写切换",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "selector-box",
"type": "rectangle",
"x": 490,
"y": 450,
"width": 220,
"height": 140,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "#ffd8a8",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 8,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "selector-title",
"type": "text",
"x": 545,
"y": 465,
"width": 110,
"height": 30,
"angle": 0,
"strokeColor": "#e67700",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 9,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Selector",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Selector",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "selector-desc",
"type": "text",
"x": 500,
"y": 510,
"width": 200,
"height": 65,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 10,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "多路复用器\n事件监听\n单线程管理多连接",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "多路复用器\n事件监听\n单线程管理多连接",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "arrow-channel-buffer",
"type": "arrow",
"x": 370,
"y": 220,
"width": 450,
"height": 0,
"angle": 0,
"strokeColor": "#3b82f6",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 2},
"seed": 11,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"points": [[0, 0], [450, 0]],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "label-read-write",
"type": "text",
"x": 545,
"y": 195,
"width": 100,
"height": 20,
"angle": 0,
"strokeColor": "#3b82f6",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 12,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "数据读写",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "数据读写",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "arrow-channel-selector",
"type": "arrow",
"x": 260,
"y": 290,
"width": 260,
"height": 150,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "dashed",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 2},
"seed": 13,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"points": [[0, 0], [260, 150]],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "label-register",
"type": "text",
"x": 345,
"y": 350,
"width": 100,
"height": 20,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 14,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "注册事件",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "注册事件",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "arrow-selector-channel",
"type": "arrow",
"x": 710,
"y": 450,
"width": 250,
"height": 130,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 2},
"seed": 15,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"points": [[0, 0], [-250, -130]],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "label-dispatch",
"type": "text",
"x": 545,
"y": 390,
"width": 100,
"height": 20,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 16,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "事件分发",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "事件分发",
"autoResize": true,
"lineHeight": 1.25
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {}
}

View File

@@ -0,0 +1,499 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://excalidraw.com",
"elements": [
{
"id": "title",
"type": "text",
"x": 400,
"y": 30,
"width": 400,
"height": 35,
"angle": 0,
"strokeColor": "#1e40af",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 1,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Selector 多路复用模型",
"fontSize": 28,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Selector 多路复用模型",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "selector-container",
"type": "rectangle",
"x": 200,
"y": 120,
"width": 800,
"height": 250,
"angle": 0,
"strokeColor": "#f59e0b",
"backgroundColor": "#fff3bf",
"fillStyle": "solid",
"strokeWidth": 3,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 30,
"groupIds": [],
"roundness": {"type": 3},
"seed": 2,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "selector-box",
"type": "rectangle",
"x": 480,
"y": 145,
"width": 240,
"height": 80,
"angle": 0,
"strokeColor": "#e67700",
"backgroundColor": "#ffd8a8",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 3,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "selector-text",
"type": "text",
"x": 535,
"y": 160,
"width": 130,
"height": 50,
"angle": 0,
"strokeColor": "#e67700",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 4,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Selector\nselect「」等待",
"fontSize": 20,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Selector\nselect「」等待",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "channel1-box",
"type": "rectangle",
"x": 250,
"y": 270,
"width": 120,
"height": 60,
"angle": 0,
"strokeColor": "#1971c2",
"backgroundColor": "#a5d8ff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 5,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "channel1-text",
"type": "text",
"x": 275,
"y": 285,
"width": 70,
"height": 30,
"angle": 0,
"strokeColor": "#1864ab",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 6,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Channel1\n就绪",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Channel1\n就绪",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "channel2-box",
"type": "rectangle",
"x": 440,
"y": 270,
"width": 120,
"height": 60,
"angle": 0,
"strokeColor": "#1971c2",
"backgroundColor": "#a5d8ff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 7,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "channel2-text",
"type": "text",
"x": 465,
"y": 285,
"width": 70,
"height": 30,
"angle": 0,
"strokeColor": "#1864ab",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 8,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Channel2\n就绪",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Channel2\n就绪",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "channel3-box",
"type": "rectangle",
"x": 630,
"y": 270,
"width": 120,
"height": 60,
"angle": 0,
"strokeColor": "#1971c2",
"backgroundColor": "#a5d8ff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 9,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "channel3-text",
"type": "text",
"x": 655,
"y": 285,
"width": 70,
"height": 30,
"angle": 0,
"strokeColor": "#1864ab",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 10,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Channel3\n就绪",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Channel3\n就绪",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "channel-dots",
"type": "text",
"x": 800,
"y": 285,
"width": 50,
"height": 30,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 11,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "...",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "...",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "eventloop-box",
"type": "rectangle",
"x": 400,
"y": 420,
"width": 400,
"height": 120,
"angle": 0,
"strokeColor": "#7c3aed",
"backgroundColor": "#d0bfff",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 3},
"seed": 12,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false
},
{
"id": "eventloop-title",
"type": "text",
"x": 520,
"y": 435,
"width": 160,
"height": 30,
"angle": 0,
"strokeColor": "#5f3dc4",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 13,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "Event Loop",
"fontSize": 24,
"fontFamily": 5,
"textAlign": "center",
"verticalAlign": "middle",
"containerId": null,
"originalText": "Event Loop",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "eventloop-desc",
"type": "text",
"x": 420,
"y": 480,
"width": 360,
"height": 45,
"angle": 0,
"strokeColor": "#374151",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 14,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "• select「」 - 等待就绪事件\n• process「」 - 处理事件\n• repeat - 循环执行",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "middle",
"containerId": null,
"originalText": "• select「」 - 等待就绪事件\n• process「」 - 处理事件\n• repeat - 循环执行",
"autoResize": true,
"lineHeight": 1.25
},
{
"id": "arrow-thread",
"type": "arrow",
"x": 600,
"y": 370,
"width": 0,
"height": 40,
"angle": 0,
"strokeColor": "#7c3aed",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 3,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": {"type": 2},
"seed": 15,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"points": [[0, 0], [0, 40]],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": "arrow"
},
{
"id": "label-onethread",
"type": "text",
"x": 615,
"y": 380,
"width": 100,
"height": 20,
"angle": 0,
"strokeColor": "#7c3aed",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"roundness": null,
"seed": 16,
"version": 1,
"isDeleted": false,
"boundElements": null,
"updated": 1,
"link": null,
"locked": false,
"text": "单线程管理",
"fontSize": 16,
"fontFamily": 5,
"textAlign": "left",
"verticalAlign": "middle",
"containerId": null,
"originalText": "单线程管理",
"autoResize": true,
"lineHeight": 1.25
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {}
}