Files
interview/10-中间件/Java NIO三大核心组件架构.excalidraw

520 lines
12 KiB
Plaintext

{
"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": {}
}