-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path404.html
More file actions
40 lines (37 loc) · 39.1 KB
/
Copy path404.html
File metadata and controls
40 lines (37 loc) · 39.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html lang="zh-CN" data-theme="light">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<meta name="generator" content="VuePress 2.0.0-beta.60" />
<meta name="theme" content="VuePress Theme Hope" />
<meta property="og:url" content="https://blakteayes.github.io/404.html"><meta property="og:site_name" content="红茶的博客"><meta property="og:type" content="website"><meta property="og:locale" content="zh-CN"><script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":""}</script><title>红茶的博客</title><meta name="description" content="">
<style>
:root {
--bg-color: #fff;
}
html[data-theme="dark"] {
--bg-color: #1d1e1f;
}
html,
body {
background: var(--bg-color);
}
</style>
<script>
const userMode = localStorage.getItem("vuepress-theme-hope-scheme");
const systemDarkMode =
window.matchMedia &&
window.matchMedia("(prefers-color-scheme: dark)").matches;
if (userMode === "dark" || (userMode !== "light" && systemDarkMode)) {
document.documentElement.setAttribute("data-theme", "dark");
}
</script>
<link rel="preload" href="/assets/style-5627d575.css" as="style"><link rel="stylesheet" href="/assets/style-5627d575.css">
<link rel="modulepreload" href="/assets/app-b4b8a1ca.js"><link rel="modulepreload" href="/assets/framework-a71e09ed.js"><link rel="modulepreload" href="/assets/404.html-2be33ae7.js"><link rel="modulepreload" href="/assets/404.html-a441863a.js"><link rel="prefetch" href="/assets/intro.html-16e8d0e8.js" as="script"><link rel="prefetch" href="/assets/index.html-ba7e5072.js" as="script"><link rel="prefetch" href="/assets/slides.html-62cc6305.js" as="script"><link rel="prefetch" href="/assets/disable.html-9c89cf28.js" as="script"><link rel="prefetch" href="/assets/encrypt.html-9818d22c.js" as="script"><link rel="prefetch" href="/assets/markdown.html-3bdbabc0.js" as="script"><link rel="prefetch" href="/assets/page.html-340daa2b.js" as="script"><link rel="prefetch" href="/assets/index.html-0b260c2c.js" as="script"><link rel="prefetch" href="/assets/cherry.html-29e4c971.js" as="script"><link rel="prefetch" href="/assets/ShootingSkills.html-ba636717.js" as="script"><link rel="prefetch" href="/assets/ElasticStack.html-3bd17179.js" as="script"><link rel="prefetch" href="/assets/dir-content-analyzer.html-a0a21f93.js" as="script"><link rel="prefetch" href="/assets/python.html-8774188a.js" as="script"><link rel="prefetch" href="/assets/redis.html-c04daf1c.js" as="script"><link rel="prefetch" href="/assets/mysql 学习.html-49d97f10.js" as="script"><link rel="prefetch" href="/assets/创造型模式.html-71d666e1.js" as="script"><link rel="prefetch" href="/assets/结构型模式.html-977116d8.js" as="script"><link rel="prefetch" href="/assets/行为型模式.html-376d8342.js" as="script"><link rel="prefetch" href="/assets/设计模式的原则和规范.html-aa59bf9a.js" as="script"><link rel="prefetch" href="/assets/vue3.html-eaff2e2b.js" as="script"><link rel="prefetch" href="/assets/webrtc.html-d386f82c.js" as="script"><link rel="prefetch" href="/assets/arthas.html-ec318312.js" as="script"><link rel="prefetch" href="/assets/Docker学习.html-a0cd5792.js" as="script"><link rel="prefetch" href="/assets/基于Docker实现mysql主从配置.html-782b03c2.js" as="script"><link rel="prefetch" href="/assets/SpringBoot整合Minio.html-8efdec0a.js" as="script"><link rel="prefetch" href="/assets/SpringBoot整合Sharding-JDBC.html-a316c704.js" as="script"><link rel="prefetch" href="/assets/SpringBoot整合WebMagic.html-fd82f5b0.js" as="script"><link rel="prefetch" href="/assets/index.html-9be12deb.js" as="script"><link rel="prefetch" href="/assets/index.html-54ad4764.js" as="script"><link rel="prefetch" href="/assets/index.html-9cc5f960.js" as="script"><link rel="prefetch" href="/assets/index.html-403a4986.js" as="script"><link rel="prefetch" href="/assets/index.html-067e17af.js" as="script"><link rel="prefetch" href="/assets/index.html-06d088a6.js" as="script"><link rel="prefetch" href="/assets/index.html-ba4e7953.js" as="script"><link rel="prefetch" href="/assets/index.html-9647ee4a.js" as="script"><link rel="prefetch" href="/assets/index.html-f05e8bcc.js" as="script"><link rel="prefetch" href="/assets/index.html-9a697778.js" as="script"><link rel="prefetch" href="/assets/index.html-3c2abf37.js" as="script"><link rel="prefetch" href="/assets/index.html-d253a825.js" as="script"><link rel="prefetch" href="/assets/index.html-b48469d7.js" as="script"><link rel="prefetch" href="/assets/index.html-daf66bee.js" as="script"><link rel="prefetch" href="/assets/index.html-ae129f38.js" as="script"><link rel="prefetch" href="/assets/index.html-ce737fff.js" as="script"><link rel="prefetch" href="/assets/index.html-a81a00c1.js" as="script"><link rel="prefetch" href="/assets/index.html-025c3607.js" as="script"><link rel="prefetch" href="/assets/index.html-ff597cf2.js" as="script"><link rel="prefetch" href="/assets/index.html-59e41048.js" as="script"><link rel="prefetch" href="/assets/index.html-df40bb96.js" as="script"><link rel="prefetch" href="/assets/index.html-2bf7a85e.js" as="script"><link rel="prefetch" href="/assets/index.html-341bc2d0.js" as="script"><link rel="prefetch" href="/assets/index.html-d372cf7c.js" as="script"><link rel="prefetch" href="/assets/index.html-7f9f06fe.js" as="script"><link rel="prefetch" href="/assets/index.html-f8c72864.js" as="script"><link rel="prefetch" href="/assets/index.html-b99207a0.js" as="script"><link rel="prefetch" href="/assets/index.html-1c93a3c6.js" as="script"><link rel="prefetch" href="/assets/index.html-7f6210a5.js" as="script"><link rel="prefetch" href="/assets/index.html-0f508fa4.js" as="script"><link rel="prefetch" href="/assets/index.html-62651ce2.js" as="script"><link rel="prefetch" href="/assets/index.html-a3f2a83e.js" as="script"><link rel="prefetch" href="/assets/index.html-1dc87545.js" as="script"><link rel="prefetch" href="/assets/index.html-c6294f0a.js" as="script"><link rel="prefetch" href="/assets/index.html-963f658b.js" as="script"><link rel="prefetch" href="/assets/index.html-41c14359.js" as="script"><link rel="prefetch" href="/assets/index.html-75b5a310.js" as="script"><link rel="prefetch" href="/assets/index.html-99a9b42c.js" as="script"><link rel="prefetch" href="/assets/index.html-47a76b86.js" as="script"><link rel="prefetch" href="/assets/index.html-88abc4c1.js" as="script"><link rel="prefetch" href="/assets/index.html-90e985bb.js" as="script"><link rel="prefetch" href="/assets/index.html-b6f2199b.js" as="script"><link rel="prefetch" href="/assets/index.html-e7bedc62.js" as="script"><link rel="prefetch" href="/assets/index.html-ff294eae.js" as="script"><link rel="prefetch" href="/assets/index.html-7a4ca0d3.js" as="script"><link rel="prefetch" href="/assets/index.html-7fb17921.js" as="script"><link rel="prefetch" href="/assets/index.html-d9165a56.js" as="script"><link rel="prefetch" href="/assets/index.html-bb2ae6e1.js" as="script"><link rel="prefetch" href="/assets/index.html-16e91439.js" as="script"><link rel="prefetch" href="/assets/index.html-5f71736e.js" as="script"><link rel="prefetch" href="/assets/index.html-9b949605.js" as="script"><link rel="prefetch" href="/assets/index.html-afc68251.js" as="script"><link rel="prefetch" href="/assets/index.html-ab75a382.js" as="script"><link rel="prefetch" href="/assets/index.html-c6b7d3e5.js" as="script"><link rel="prefetch" href="/assets/index.html-6155a611.js" as="script"><link rel="prefetch" href="/assets/index.html-b30c164c.js" as="script"><link rel="prefetch" href="/assets/intro.html-5b35e157.js" as="script"><link rel="prefetch" href="/assets/index.html-e46fb5a5.js" as="script"><link rel="prefetch" href="/assets/slides.html-c29c6d88.js" as="script"><link rel="prefetch" href="/assets/disable.html-e5c89080.js" as="script"><link rel="prefetch" href="/assets/encrypt.html-26f5bcf9.js" as="script"><link rel="prefetch" href="/assets/markdown.html-7bb68332.js" as="script"><link rel="prefetch" href="/assets/page.html-bef545e2.js" as="script"><link rel="prefetch" href="/assets/index.html-bd8a5d79.js" as="script"><link rel="prefetch" href="/assets/cherry.html-a24ffdbf.js" as="script"><link rel="prefetch" href="/assets/ShootingSkills.html-beefe4c0.js" as="script"><link rel="prefetch" href="/assets/ElasticStack.html-7f63f5bd.js" as="script"><link rel="prefetch" href="/assets/dir-content-analyzer.html-7266f414.js" as="script"><link rel="prefetch" href="/assets/python.html-866830ed.js" as="script"><link rel="prefetch" href="/assets/redis.html-00f3c706.js" as="script"><link rel="prefetch" href="/assets/mysql 学习.html-a7df1455.js" as="script"><link rel="prefetch" href="/assets/创造型模式.html-00f3fc99.js" as="script"><link rel="prefetch" href="/assets/结构型模式.html-7db01eb6.js" as="script"><link rel="prefetch" href="/assets/行为型模式.html-49a34e50.js" as="script"><link rel="prefetch" href="/assets/设计模式的原则和规范.html-4c0e0964.js" as="script"><link rel="prefetch" href="/assets/vue3.html-5061483b.js" as="script"><link rel="prefetch" href="/assets/webrtc.html-003f299e.js" as="script"><link rel="prefetch" href="/assets/arthas.html-fd877cf2.js" as="script"><link rel="prefetch" href="/assets/Docker学习.html-d54a4e5d.js" as="script"><link rel="prefetch" href="/assets/基于Docker实现mysql主从配置.html-75484396.js" as="script"><link rel="prefetch" href="/assets/SpringBoot整合Minio.html-619dc1ea.js" as="script"><link rel="prefetch" href="/assets/SpringBoot整合Sharding-JDBC.html-fd0280c4.js" as="script"><link rel="prefetch" href="/assets/SpringBoot整合WebMagic.html-069fcbd7.js" as="script"><link rel="prefetch" href="/assets/index.html-d1fedf1d.js" as="script"><link rel="prefetch" href="/assets/index.html-365aaa05.js" as="script"><link rel="prefetch" href="/assets/index.html-a43ecbda.js" as="script"><link rel="prefetch" href="/assets/index.html-9c163b69.js" as="script"><link rel="prefetch" href="/assets/index.html-7a0be886.js" as="script"><link rel="prefetch" href="/assets/index.html-1a5a257d.js" as="script"><link rel="prefetch" href="/assets/index.html-43a3378f.js" as="script"><link rel="prefetch" href="/assets/index.html-5f4076d3.js" as="script"><link rel="prefetch" href="/assets/index.html-25d13596.js" as="script"><link rel="prefetch" href="/assets/index.html-e18c7c01.js" as="script"><link rel="prefetch" href="/assets/index.html-dd6e0a81.js" as="script"><link rel="prefetch" href="/assets/index.html-157470a6.js" as="script"><link rel="prefetch" href="/assets/index.html-eb19f134.js" as="script"><link rel="prefetch" href="/assets/index.html-3edb1207.js" as="script"><link rel="prefetch" href="/assets/index.html-7659f225.js" as="script"><link rel="prefetch" href="/assets/index.html-21134160.js" as="script"><link rel="prefetch" href="/assets/index.html-eee7bd5e.js" as="script"><link rel="prefetch" href="/assets/index.html-3c4e6d93.js" as="script"><link rel="prefetch" href="/assets/index.html-e41762e8.js" as="script"><link rel="prefetch" href="/assets/index.html-f2f9c668.js" as="script"><link rel="prefetch" href="/assets/index.html-17ab5438.js" as="script"><link rel="prefetch" href="/assets/index.html-6ee9d3ea.js" as="script"><link rel="prefetch" href="/assets/index.html-649c8bee.js" as="script"><link rel="prefetch" href="/assets/index.html-ae5bef17.js" as="script"><link rel="prefetch" href="/assets/index.html-1a63c237.js" as="script"><link rel="prefetch" href="/assets/index.html-fa57f31b.js" as="script"><link rel="prefetch" href="/assets/index.html-582f2f4d.js" as="script"><link rel="prefetch" href="/assets/index.html-db49e63c.js" as="script"><link rel="prefetch" href="/assets/index.html-3177d283.js" as="script"><link rel="prefetch" href="/assets/index.html-0b96220c.js" as="script"><link rel="prefetch" href="/assets/index.html-0d3c2e35.js" as="script"><link rel="prefetch" href="/assets/index.html-0a0985c7.js" as="script"><link rel="prefetch" href="/assets/index.html-08a3681e.js" as="script"><link rel="prefetch" href="/assets/index.html-8495482f.js" as="script"><link rel="prefetch" href="/assets/index.html-fb5cf172.js" as="script"><link rel="prefetch" href="/assets/index.html-27e1e7f8.js" as="script"><link rel="prefetch" href="/assets/index.html-ec6326fb.js" as="script"><link rel="prefetch" href="/assets/index.html-7664a3ca.js" as="script"><link rel="prefetch" href="/assets/index.html-05b2ae29.js" as="script"><link rel="prefetch" href="/assets/index.html-8dc75b1f.js" as="script"><link rel="prefetch" href="/assets/index.html-a8b361fa.js" as="script"><link rel="prefetch" href="/assets/index.html-3ebcf483.js" as="script"><link rel="prefetch" href="/assets/index.html-276c6f3b.js" as="script"><link rel="prefetch" href="/assets/index.html-ef2de33d.js" as="script"><link rel="prefetch" href="/assets/index.html-5fdef5e8.js" as="script"><link rel="prefetch" href="/assets/index.html-612182b2.js" as="script"><link rel="prefetch" href="/assets/index.html-95908aa3.js" as="script"><link rel="prefetch" href="/assets/index.html-9b63fac2.js" as="script"><link rel="prefetch" href="/assets/index.html-7f20f840.js" as="script"><link rel="prefetch" href="/assets/index.html-28fd65f8.js" as="script"><link rel="prefetch" href="/assets/index.html-ba69b243.js" as="script"><link rel="prefetch" href="/assets/index.html-64d79aee.js" as="script"><link rel="prefetch" href="/assets/index.html-876f22d9.js" as="script"><link rel="prefetch" href="/assets/index.html-6cf6f951.js" as="script"><link rel="prefetch" href="/assets/index.html-89cc4dd8.js" as="script"><link rel="prefetch" href="/assets/index.html-f145afa5.js" as="script"><link rel="prefetch" href="/assets/giscus-6650c2d9.js" as="script"><link rel="prefetch" href="/assets/auto-ba5ecab5.js" as="script"><link rel="prefetch" href="/assets/index-8764208e.js" as="script"><link rel="prefetch" href="/assets/flowchart-35969cab.js" as="script"><link rel="prefetch" href="/assets/mermaid.core-e1743785.js" as="script"><link rel="prefetch" href="/assets/highlight.esm-a794bb63.js" as="script"><link rel="prefetch" href="/assets/markdown.esm-d92a2fc9.js" as="script"><link rel="prefetch" href="/assets/math.esm-70a288c8.js" as="script"><link rel="prefetch" href="/assets/notes.esm-224f94d9.js" as="script"><link rel="prefetch" href="/assets/reveal.esm-e5069ce0.js" as="script"><link rel="prefetch" href="/assets/search.esm-2c3fba7d.js" as="script"><link rel="prefetch" href="/assets/zoom.esm-b83b91d0.js" as="script"><link rel="prefetch" href="/assets/VuePlayground-ac9d527a.js" as="script"><link rel="prefetch" href="/assets/photoswipe.esm-04fddac6.js" as="script">
</head>
<body>
<div id="app"><!--[--><!--[--><!--[--><span tabindex="-1"></span><a href="#main-content" class="skip-link sr-only">跳至主要內容</a><!--]--><div class="theme-container no-sidebar has-toc"><!--[--><header class="navbar" id="navbar"><div class="navbar-start"><button class="toggle-sidebar-button" title="Toggle Sidebar"><span class="icon"></span></button><!--[--><!----><!--]--><a href="/" class="brand"><img class="logo" src="/icon.png" alt="红茶的博客"><!----><span class="site-name hide-in-pad">红茶的博客</span></a><!--[--><!----><!--]--></div><div class="navbar-center"><!--[--><!----><!--]--><nav class="nav-links"><div class="nav-item hide-in-mobile"><a href="/" class="nav-link" aria-label="博客主页"><span class="font-icon icon iconfont icon-home" style=""></span>博客主页<!----></a></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="设计模式"><span class="title"><span class="font-icon icon iconfont icon-article" style=""></span>设计模式</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>简述</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F%E7%9A%84%E5%8E%9F%E5%88%99%E5%92%8C%E8%A7%84%E8%8C%83.html" class="nav-link" aria-label="设计模式简述"><span class="font-icon icon iconfont icon-edit" style=""></span>设计模式简述<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>创造型模式</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E5%88%9B%E9%80%A0%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E7%AE%80%E5%8D%95%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F-simple-factory-pattern" class="nav-link" aria-label="简单工厂模式(Simple Factory Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>简单工厂模式(Simple Factory Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E5%88%9B%E9%80%A0%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%B7%A5%E5%8E%82%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8F-factory-method-pattern" class="nav-link" aria-label="工厂方法模式(Factory Method Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>工厂方法模式(Factory Method Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E5%88%9B%E9%80%A0%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E6%8A%BD%E8%B1%A1%E5%B7%A5%E5%8E%82%E6%A8%A1%E5%BC%8F-abstract-factory-pattern" class="nav-link" aria-label="抽象工厂模式(Abstract Factory Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>抽象工厂模式(Abstract Factory Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E5%88%9B%E9%80%A0%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F-singleton-pattern" class="nav-link" aria-label="单例模式(Singleton Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>单例模式(Singleton Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E5%88%9B%E9%80%A0%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%8E%9F%E5%9E%8B%E6%A8%A1%E5%BC%8F-prototype-pattern" class="nav-link" aria-label="原型模式(Prototype Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>原型模式(Prototype Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E5%88%9B%E9%80%A0%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%BB%BA%E9%80%A0%E8%80%85%E6%A8%A1%E5%BC%8F-builder-pattern" class="nav-link" aria-label="建造者模式(Builder Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>建造者模式(Builder Pattern)<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>结构型模式</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E9%80%82%E9%85%8D%E5%99%A8%E6%A8%A1%E5%BC%8F-adapter-pattern" class="nav-link" aria-label="适配器模式(Adapter Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>适配器模式(Adapter Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E6%A1%A5%E6%8E%A5%E6%A8%A1%E5%BC%8F-bridge-pattern" class="nav-link" aria-label="桥接模式(Bridge Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>桥接模式(Bridge Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E8%A3%85%E9%A5%B0%E5%99%A8%E6%A8%A1%E5%BC%8F-decorator-pattern" class="nav-link" aria-label="装饰器模式(Decorator Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>装饰器模式(Decorator Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E7%BB%84%E5%90%88%E6%A8%A1%E5%BC%8F-composite-pattern" class="nav-link" aria-label="组合模式(Composite Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>组合模式(Composite Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%A4%96%E8%A7%82%E6%A8%A1%E5%BC%8F-facade-pattern" class="nav-link" aria-label="外观模式(Facade Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>外观模式(Facade Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E4%BA%AB%E5%85%83%E6%A8%A1%E5%BC%8F-flyweight-pattern" class="nav-link" aria-label="享元模式(Flyweight Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>享元模式(Flyweight Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E7%BB%93%E6%9E%84%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E4%BB%A3%E7%90%86%E6%A8%A1%E5%BC%8F-proxy-pattern" class="nav-link" aria-label="代理模式(Proxy Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>代理模式(Proxy Pattern)<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>行为型模式</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E8%B4%A3%E4%BB%BB%E9%93%BE%E6%A8%A1%E5%BC%8F-chain-of-responsibility-pattern" class="nav-link" aria-label="责任链模式(Chain of Responsibility Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>责任链模式(Chain of Responsibility Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%91%BD%E4%BB%A4%E6%A8%A1%E5%BC%8F-command-pattern" class="nav-link" aria-label="命令模式(Command Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>命令模式(Command Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E8%A7%A3%E9%87%8A%E5%99%A8%E6%A8%A1%E5%BC%8F-interpreter-pattern" class="nav-link" aria-label="解释器模式(Interpreter Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>解释器模式(Interpreter Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E8%BF%AD%E4%BB%A3%E5%99%A8%E6%A8%A1%E5%BC%8F-iterator-pattern" class="nav-link" aria-label="迭代器模式(Iterator Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>迭代器模式(Iterator Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E4%B8%AD%E4%BB%8B%E8%80%85%E6%A8%A1%E5%BC%8F-mediator-pattern" class="nav-link" aria-label="中介者模式(Mediator Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>中介者模式(Mediator Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E5%A4%87%E5%BF%98%E5%BD%95%E6%A8%A1%E5%BC%8F-memento-pattern" class="nav-link" aria-label="备忘录模式(Memento Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>备忘录模式(Memento Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E8%A7%82%E5%AF%9F%E8%80%85%E6%A8%A1%E5%BC%8F-observer-pattern" class="nav-link" aria-label="观察者模式(Observer Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>观察者模式(Observer Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E7%8A%B6%E6%80%81%E6%A8%A1%E5%BC%8F-state-pattern" class="nav-link" aria-label="状态模式(State Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>状态模式(State Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E7%AD%96%E7%95%A5%E6%A8%A1%E5%BC%8F-strategy-pattern" class="nav-link" aria-label="策略模式(Strategy Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>策略模式(Strategy Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E6%A8%A1%E6%9D%BF%E6%96%B9%E6%B3%95%E6%A8%A1%E5%BC%8F-template-method-pattern" class="nav-link" aria-label="模板方法模式(Template Method Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>模板方法模式(Template Method Pattern)<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/%E8%A1%8C%E4%B8%BA%E5%9E%8B%E6%A8%A1%E5%BC%8F.html#%E8%AE%BF%E9%97%AE%E8%80%85%E6%A8%A1%E5%BC%8F-visitor-pattern" class="nav-link" aria-label="访问者模式(Visitor Pattern)"><span class="font-icon icon iconfont icon-edit" style=""></span>访问者模式(Visitor Pattern)<!----></a></li></ul></li></ul></button></div></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="后端技术合集"><span class="title"><span class="font-icon icon iconfont icon-folder" style=""></span>后端技术合集</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>python</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/python/python.html" class="nav-link" aria-label="python"><span class="font-icon icon iconfont icon-edit" style=""></span>python<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/python/dir-content-analyzer.html" class="nav-link" aria-label="dir-content-analyzer"><span class="font-icon icon iconfont icon-edit" style=""></span>dir-content-analyzer<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>redis</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/redis/redis.html" class="nav-link" aria-label="redis"><span class="font-icon icon iconfont icon-edit" style=""></span>redis<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>ElasticStack</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/ElasticStack/ElasticStack.html" class="nav-link" aria-label="ElasticStack学习"><span class="font-icon icon iconfont icon-edit" style=""></span>ElasticStack学习<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>springboot合集</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/backEnd/java/springboot/SpringBoot%E6%95%B4%E5%90%88Minio.html" class="nav-link" aria-label="SpringBoot整合Minio"><span class="font-icon icon iconfont icon-edit" style=""></span>SpringBoot整合Minio<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/java/springboot/SpringBoot%E6%95%B4%E5%90%88Sharding-JDBC.html" class="nav-link" aria-label="SpringBoot整合Sharding-JDBC"><span class="font-icon icon iconfont icon-edit" style=""></span>SpringBoot整合Sharding-JDBC<!----></a></li><li class="dropdown-subitem"><a href="/backEnd/java/springboot/SpringBoot%E6%95%B4%E5%90%88WebMagic.html" class="nav-link" aria-label="SpringBoot整合WebMagic"><span class="font-icon icon iconfont icon-edit" style=""></span>SpringBoot整合WebMagic<!----></a></li></ul></li></ul></button></div></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="前端技术合集"><span class="title"><span class="font-icon icon iconfont icon-folder" style=""></span>前端技术合集</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>webrtc</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/frontEnd/webrtc/webrtc.html" class="nav-link" aria-label="webrtc基础使用"><span class="font-icon icon iconfont icon-edit" style=""></span>webrtc基础使用<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>vue</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/frontEnd/vue/vue3.html" class="nav-link" aria-label="vue3学习"><span class="font-icon icon iconfont icon-edit" style=""></span>vue3学习<!----></a></li></ul></li></ul></button></div></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="运维技术合集"><span class="title"><span class="font-icon icon iconfont icon-folder" style=""></span>运维技术合集</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>arthas</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/devops/arthas/arthas.html" class="nav-link" aria-label="arthas"><span class="font-icon icon iconfont icon-edit" style=""></span>arthas<!----></a></li></ul></li><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>docker</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/devops/docker/Docker%E5%AD%A6%E4%B9%A0.html" class="nav-link" aria-label="Docker基础学习"><span class="font-icon icon iconfont icon-edit" style=""></span>Docker基础学习<!----></a></li><li class="dropdown-subitem"><a href="/devops/docker/%E5%9F%BA%E4%BA%8EDocker%E5%AE%9E%E7%8E%B0mysql%E4%B8%BB%E4%BB%8E%E9%85%8D%E7%BD%AE.html" class="nav-link" aria-label="基于Docker实现mysql主从配置"><span class="font-icon icon iconfont icon-edit" style=""></span>基于Docker实现mysql主从配置<!----></a></li></ul></li></ul></button></div></div><div class="nav-item hide-in-mobile"><div class="dropdown-wrapper"><button class="dropdown-title" type="button" aria-label="摄影"><span class="title"><span class="font-icon icon iconfont icon-folder" style=""></span>摄影</span><span class="arrow"></span><ul class="nav-dropdown"><li class="dropdown-item"><h4 class="dropdown-subtitle"><span>摄影</span></h4><ul class="dropdown-subitem-wrapper"><li class="dropdown-subitem"><a href="/shootingSkills/ShootingSkills.html" class="nav-link" aria-label="摄影技巧"><span class="font-icon icon iconfont icon-edit" style=""></span>摄影技巧<!----></a></li></ul></li></ul></button></div></div></nav><!--[--><!----><!--]--></div><div class="navbar-end"><!--[--><!----><!--]--><!----><div class="nav-item"><a class="repo-link" href="https://github.com/vuepress-theme-hope/vuepress-theme-hope" target="_blank" rel="noopener noreferrer" aria-label="GitHub"><svg xmlns="http://www.w3.org/2000/svg" class="icon github-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="github icon" style="width:1.25rem;height:1.25rem;vertical-align:middle;"><path d="M511.957 21.333C241.024 21.333 21.333 240.981 21.333 512c0 216.832 140.544 400.725 335.574 465.664 24.49 4.395 32.256-10.07 32.256-23.083 0-11.69.256-44.245 0-85.205-136.448 29.61-164.736-64.64-164.736-64.64-22.315-56.704-54.4-71.765-54.4-71.765-44.587-30.464 3.285-29.824 3.285-29.824 49.195 3.413 75.179 50.517 75.179 50.517 43.776 75.008 114.816 53.333 142.762 40.79 4.523-31.66 17.152-53.377 31.19-65.537-108.971-12.458-223.488-54.485-223.488-242.602 0-53.547 19.114-97.323 50.517-131.67-5.035-12.33-21.93-62.293 4.779-129.834 0 0 41.258-13.184 134.912 50.346a469.803 469.803 0 0 1 122.88-16.554c41.642.213 83.626 5.632 122.88 16.554 93.653-63.488 134.784-50.346 134.784-50.346 26.752 67.541 9.898 117.504 4.864 129.834 31.402 34.347 50.474 78.123 50.474 131.67 0 188.586-114.73 230.016-224.042 242.09 17.578 15.232 33.578 44.672 33.578 90.454v135.85c0 13.142 7.936 27.606 32.854 22.87C862.25 912.597 1002.667 728.747 1002.667 512c0-271.019-219.648-490.667-490.71-490.667z"></path></svg></a></div><div class="nav-item hide-in-mobile"><button id="appearance-switch"><svg xmlns="http://www.w3.org/2000/svg" class="icon auto-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="auto icon" style="display:block;"><path d="M512 992C246.92 992 32 777.08 32 512S246.92 32 512 32s480 214.92 480 480-214.92 480-480 480zm0-840c-198.78 0-360 161.22-360 360 0 198.84 161.22 360 360 360s360-161.16 360-360c0-198.78-161.22-360-360-360zm0 660V212c165.72 0 300 134.34 300 300 0 165.72-134.28 300-300 300z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon dark-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="dark icon" style="display:none;"><path d="M524.8 938.667h-4.267a439.893 439.893 0 0 1-313.173-134.4 446.293 446.293 0 0 1-11.093-597.334A432.213 432.213 0 0 1 366.933 90.027a42.667 42.667 0 0 1 45.227 9.386 42.667 42.667 0 0 1 10.24 42.667 358.4 358.4 0 0 0 82.773 375.893 361.387 361.387 0 0 0 376.747 82.774 42.667 42.667 0 0 1 54.187 55.04 433.493 433.493 0 0 1-99.84 154.88 438.613 438.613 0 0 1-311.467 128z"></path></svg><svg xmlns="http://www.w3.org/2000/svg" class="icon light-icon" viewBox="0 0 1024 1024" fill="currentColor" aria-label="light icon" style="display:none;"><path d="M952 552h-80a40 40 0 0 1 0-80h80a40 40 0 0 1 0 80zM801.88 280.08a41 41 0 0 1-57.96-57.96l57.96-58a41.04 41.04 0 0 1 58 58l-58 57.96zM512 752a240 240 0 1 1 0-480 240 240 0 0 1 0 480zm0-560a40 40 0 0 1-40-40V72a40 40 0 0 1 80 0v80a40 40 0 0 1-40 40zm-289.88 88.08-58-57.96a41.04 41.04 0 0 1 58-58l57.96 58a41 41 0 0 1-57.96 57.96zM192 512a40 40 0 0 1-40 40H72a40 40 0 0 1 0-80h80a40 40 0 0 1 40 40zm30.12 231.92a41 41 0 0 1 57.96 57.96l-57.96 58a41.04 41.04 0 0 1-58-58l58-57.96zM512 832a40 40 0 0 1 40 40v80a40 40 0 0 1-80 0v-80a40 40 0 0 1 40-40zm289.88-88.08 58 57.96a41.04 41.04 0 0 1-58 58l-57.96-58a41 41 0 0 1 57.96-57.96z"></path></svg></button></div><!----><!--[--><!----><!--]--><button class="toggle-navbar-button" aria-label="Toggle Navbar" aria-expanded="false" aria-controls="nav-screen"><span class="button-container"><span class="button-top"></span><span class="button-middle"></span><span class="button-bottom"></span></span></button></div></header><!----><!--]--><!----><div class="toggle-sidebar-wrapper"><span class="arrow start"></span></div><aside class="sidebar" id="sidebar"><!--[--><!----><!--]--><ul class="sidebar-links"><li><!--[--><a href="/" class="nav-link sidebar-link sidebar-page" aria-label="博客主页"><span class="font-icon icon iconfont icon-home" style=""></span>博客主页<!----></a><ul class="sidebar-sub-headers"></ul><!--]--></li><li><section class="sidebar-group"><p class="sidebar-heading"><span class="font-icon icon iconfont icon-note" style=""></span><span class="title">文章</span><!----></p><ul class="sidebar-links"><li><!--[--><a href="/posts/cherry.html" class="nav-link sidebar-link sidebar-page" aria-label="测试文章"><span class="font-icon icon iconfont icon-edit" style=""></span>测试文章<!----></a><ul class="sidebar-sub-headers"></ul><!--]--></li></ul></section></li><li><section class="sidebar-group"><p class="sidebar-heading"><span class="font-icon icon iconfont icon-note" style=""></span><span class="title">前端</span><!----></p><ul class="sidebar-links"><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Vue</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Webrtc</span><span class="arrow end"></span></button><!----></section></li></ul></section></li><li><section class="sidebar-group"><p class="sidebar-heading"><span class="font-icon icon iconfont icon-note" style=""></span><span class="title">运维</span><!----></p><ul class="sidebar-links"><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Arthas</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Docker</span><span class="arrow end"></span></button><!----></section></li></ul></section></li><li><section class="sidebar-group"><p class="sidebar-heading"><span class="font-icon icon iconfont icon-note" style=""></span><span class="title">后端</span><!----></p><ul class="sidebar-links"><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">设计模式</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">数据库</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Elastic Stack</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Java</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Python</span><span class="arrow end"></span></button><!----></section></li><li><section class="sidebar-group"><button class="sidebar-heading clickable"><!----><span class="title">Redis</span><span class="arrow end"></span></button><!----></section></li></ul></section></li><li><section class="sidebar-group"><p class="sidebar-heading"><span class="font-icon icon iconfont icon-note" style=""></span><span class="title">摄影</span><!----></p><ul class="sidebar-links"><li><!--[--><a href="/shootingSkills/ShootingSkills.html" class="nav-link sidebar-link sidebar-page" aria-label="如何学习拍摄技巧"><span class="font-icon icon iconfont icon-edit" style=""></span>如何学习拍摄技巧<!----></a><ul class="sidebar-sub-headers"></ul><!--]--></li></ul></section></li><li><!--[--><a href="/intro.html" class="nav-link sidebar-link sidebar-page" aria-label="介绍页"><span class="font-icon icon iconfont icon-info" style=""></span>介绍页<!----></a><ul class="sidebar-sub-headers"></ul><!--]--></li><li><!--[--><a href="/slides.html" class="nav-link sidebar-link sidebar-page" aria-label="幻灯片页"><span class="font-icon icon iconfont icon-slides" style=""></span>幻灯片页<!----></a><ul class="sidebar-sub-headers"></ul><!--]--></li></ul><!--[--><!----><!--]--></aside><!--[--><main class="page not-found" id="main-content"><div class="not-found-hint"><p class="error-code">404</p><h1 class="error-title">页面不存在</h1><p class="error-hint">看起来你访问了一个失效的链接</p></div><div class="actions"><button class="action-button">返回上一页</button><button class="action-button">带我回家</button></div></main><!--]--><footer class="footer-wrapper"><div class="footer">天天开心</div><div class="copyright">Copyright © 2026 红茶</div></footer></div><!--]--><!----><!--]--></div>
<script type="module" src="/assets/app-b4b8a1ca.js" defer></script>
</body>
</html>