From c5aeba84a60d0b9326cb237243457ed36b026af4 Mon Sep 17 00:00:00 2001 From: guide Date: Tue, 22 Nov 2022 22:32:15 +0800 Subject: [PATCH] =?UTF-8?q?[docs=20feat]=E6=B7=BB=E5=8A=A0=E5=9B=BE?= =?UTF-8?q?=E6=A0=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vuepress/sidebar.ts | 7 +++---- docs/.vuepress/themeConfig.ts | 2 +- docs/distributed-system/api-gateway.md | 1 + .../distributed-configuration-center.md | 1 + docs/distributed-system/distributed-id.md | 1 + docs/distributed-system/distributed-lock.md | 1 + docs/distributed-system/distributed-transaction.md | 1 + docs/high-performance/cdn.md | 1 + docs/high-performance/load-balancing.md | 1 + ...ad-and-write-separation-and-library-subtable.md | 1 + docs/high-performance/sql-optimization.md | 1 + .../interview/my-personal-experience-in-2021.md | 2 +- docs/java/basis/syntactic-sugar.md | 2 -- docs/system-design/basis/refactoring.md | 14 +++++++++----- docs/system-design/design-pattern.md | 1 + .../framework/mybatis/mybatis-interview.md | 1 + docs/system-design/framework/netty.md | 1 + docs/system-design/schedule-task.md | 1 + docs/system-design/system-design-questions.md | 1 + docs/system-design/web-real-time-message-push.md | 1 + 20 files changed, 29 insertions(+), 13 deletions(-) diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index d9af6c78..fa0fb1ed 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -311,6 +311,7 @@ export const sidebarConfig = sidebar({ children: [ { text: "Spring&Spring Boot", + icon: "bxl-spring-boot", prefix: "spring/", children: [ "spring-knowledge-and-questions-summary", @@ -338,13 +339,10 @@ export const sidebarConfig = sidebar({ prefix: "system-design/", collapsible: true, children: [ - "system-design-questions", - "design-pattern", { text: "基础", prefix: "basis/", icon: "basic", - collapsible: true, children: [ "RESTfulAPI", "naming", @@ -359,7 +357,6 @@ export const sidebarConfig = sidebar({ text: "安全", prefix: "security/", icon: "security-fill", - collapsible: true, children: [ "basis-of-authority-certification", "jwt-intro", @@ -370,6 +367,8 @@ export const sidebarConfig = sidebar({ "data-desensitization", ], }, + "system-design-questions", + "design-pattern", "schedule-task", "web-real-time-message-push", ], diff --git a/docs/.vuepress/themeConfig.ts b/docs/.vuepress/themeConfig.ts index c9144365..5d2faa79 100644 --- a/docs/.vuepress/themeConfig.ts +++ b/docs/.vuepress/themeConfig.ts @@ -11,7 +11,7 @@ export const themeConfig = hopeTheme({ }, repo: "https://github.com/Snailclimb/JavaGuide", docsDir: "docs", - iconAssets: "//at.alicdn.com/t/c/font_2922463_bcn6tjuoz8b.css", + iconAssets: "//at.alicdn.com/t/c/font_2922463_fi3mvhn3c1.css", navbar: navbarConfig, sidebar: sidebarConfig, pageInfo: [ diff --git a/docs/distributed-system/api-gateway.md b/docs/distributed-system/api-gateway.md index ee3ba6d6..49022cf4 100644 --- a/docs/distributed-system/api-gateway.md +++ b/docs/distributed-system/api-gateway.md @@ -1,6 +1,7 @@ --- title: API 网关详解 category: 分布式 +icon: "gateway" --- ## 什么是网关?有什么用? diff --git a/docs/distributed-system/distributed-configuration-center.md b/docs/distributed-system/distributed-configuration-center.md index e4b619aa..4e212e62 100644 --- a/docs/distributed-system/distributed-configuration-center.md +++ b/docs/distributed-system/distributed-configuration-center.md @@ -1,6 +1,7 @@ --- title: 分布式配置中心详解(付费) category: 分布式 +icon: "configuration" --- **分布式配置中心** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。 diff --git a/docs/distributed-system/distributed-id.md b/docs/distributed-system/distributed-id.md index f094ceca..0f197a9c 100644 --- a/docs/distributed-system/distributed-id.md +++ b/docs/distributed-system/distributed-id.md @@ -1,6 +1,7 @@ --- title: 分布式 ID 详解 category: 分布式 +icon: "id" --- ## 分布式 ID 介绍 diff --git a/docs/distributed-system/distributed-lock.md b/docs/distributed-system/distributed-lock.md index bd46c384..5f4c581a 100644 --- a/docs/distributed-system/distributed-lock.md +++ b/docs/distributed-system/distributed-lock.md @@ -1,6 +1,7 @@ --- title: 分布式锁详解 category: 分布式 +icon: "lock" --- 网上有很多分布式锁相关的文章,写了一个相对简洁易懂的版本,针对面试和工作应该够用了。 diff --git a/docs/distributed-system/distributed-transaction.md b/docs/distributed-system/distributed-transaction.md index ce52142b..47f0bfe7 100644 --- a/docs/distributed-system/distributed-transaction.md +++ b/docs/distributed-system/distributed-transaction.md @@ -1,6 +1,7 @@ --- title: 分布式事务详解(付费) category: 分布式 +icon: "transanction" --- **分布式事务** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。 diff --git a/docs/high-performance/cdn.md b/docs/high-performance/cdn.md index 2362731f..23ae90fa 100644 --- a/docs/high-performance/cdn.md +++ b/docs/high-performance/cdn.md @@ -1,6 +1,7 @@ --- title: CDN(内容分发网络)详解 category: 高性能 +icon: "cdn" head: - - meta - name: keywords diff --git a/docs/high-performance/load-balancing.md b/docs/high-performance/load-balancing.md index 4a2c0596..24a11dbb 100644 --- a/docs/high-performance/load-balancing.md +++ b/docs/high-performance/load-balancing.md @@ -1,6 +1,7 @@ --- title: 负载均衡详解(付费) category: 高性能 +icon: "fuzaijunheng" head: - - meta - name: keywords diff --git a/docs/high-performance/read-and-write-separation-and-library-subtable.md b/docs/high-performance/read-and-write-separation-and-library-subtable.md index 9fc17f8c..5b124d3f 100644 --- a/docs/high-performance/read-and-write-separation-and-library-subtable.md +++ b/docs/high-performance/read-and-write-separation-and-library-subtable.md @@ -1,6 +1,7 @@ --- title: 读写分离和分库分表详解 category: 高性能 +icon: "mysql" head: - - meta - name: keywords diff --git a/docs/high-performance/sql-optimization.md b/docs/high-performance/sql-optimization.md index bcdf146a..e4913c2c 100644 --- a/docs/high-performance/sql-optimization.md +++ b/docs/high-performance/sql-optimization.md @@ -1,6 +1,7 @@ --- title: 常见 SQL 优化手段总结(付费) category: 高性能 +icon: "mysql" head: - - meta - name: keywords diff --git a/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md b/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md index b5645dd7..ef97d430 100644 --- a/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md +++ b/docs/high-quality-technical-articles/interview/my-personal-experience-in-2021.md @@ -46,7 +46,7 @@ tag: **2021-4 中旬** -美团一、二面,腾讯第二次一面和二面,,百度三轮面试,通过了。 +美团一、二面,腾讯第二次一面和二面,百度三轮面试,通过了。 **2021-4 底** diff --git a/docs/java/basis/syntactic-sugar.md b/docs/java/basis/syntactic-sugar.md index 653f025c..e885882e 100644 --- a/docs/java/basis/syntactic-sugar.md +++ b/docs/java/basis/syntactic-sugar.md @@ -804,8 +804,6 @@ Iterator 是工作在一个独立的线程中,并且拥有一个 mutex 锁。 所以 `Iterator` 在工作的时候是不允许被迭代的对象被改变的。但你可以使用 `Iterator` 本身的方法`remove()`来删除对象,`Iterator.remove()` 方法会在删除当前迭代对象的同时维护索引的一致性。 -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/java/basis/syntactic-sugar/image-20220818175912313.png) - ## 总结 前面介绍了 12 种 Java 中常用的语法糖。所谓语法糖就是提供给开发人员便于开发的一种语法而已。但是这种语法只有开发人员认识。要想被执行,需要进行解糖,即转成 JVM 认识的语法。当我们把语法糖解糖之后,你就会发现其实我们日常使用的这些方便的语法,其实都是一些其他更简单的语法构成的。 diff --git a/docs/system-design/basis/refactoring.md b/docs/system-design/basis/refactoring.md index ca03b953..e45369ce 100644 --- a/docs/system-design/basis/refactoring.md +++ b/docs/system-design/basis/refactoring.md @@ -22,15 +22,13 @@ category: 代码质量 **常见的设计模式如下** : -![常见的设计模式](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/image-20220311160610999.png) - - +![常见的设计模式](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/system-design/basis/common-design-patterns.png) 更全面的设计模式总结,可以看 **[java-design-patterns](https://github.com/iluwatar/java-design-patterns)** 这个开源项目。 **常见的软件设计原则如下** : -![常见的软件设计原](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/programming-principles%20.png) +![常见的软件设计原则](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/system-design/basis/programming-principles%20.png) 更全面的设计原则总结,可以看 **[java-design-patterns](https://github.com/iluwatar/java-design-patterns)** 和 **[hacker-laws-zh](https://github.com/nusr/hacker-laws-zh)** 这两个开源项目。 @@ -135,4 +133,10 @@ Code Review 可以非常有效提高代码的整体质量,它会帮助我们 除了可以在重构项目代码的过程中练习精进重构之外,你还可以有下面这些手段: - [重构实战练习](https://linesh.gitbook.io/refactoring/) :通过几个小案例一步一步带你学习重构! -- [设计模式+重构学习网站](https://refactoringguru.cn/) :免费在线学习代码重构、 设计模式、 SOLID 原则 (单一职责、 开闭原则、 里氏替换、 接口隔离以及依赖反转) 。 \ No newline at end of file +- [设计模式+重构学习网站](https://refactoringguru.cn/) :免费在线学习代码重构、 设计模式、 SOLID 原则 (单一职责、 开闭原则、 里氏替换、 接口隔离以及依赖反转) 。 +- [IDEA 官方文档的代码重构教程](https://www.jetbrains.com/help/idea/refactoring-source-code.html#popular-refactorings) : 教你如何使用 IDEA 进行重构。 + +## 参考 + +- [再读《重构》- ThoughtWorks 洞见 - 2020](https://insights.thoughtworks.cn/reread-refactoring/) :详细介绍了重构的要点比如小步重构、捡垃圾式的重构,主要是重构概念相关的介绍。 +- [常见代码重构技巧 - VectorJin - 2021](https://juejin.cn/post/6954378167947624484) :从软件设计原则、设计模式、代码分层、命名规范等角度介绍了如何进行重构,比较偏实战。 \ No newline at end of file diff --git a/docs/system-design/design-pattern.md b/docs/system-design/design-pattern.md index e279a965..92f9a9d1 100644 --- a/docs/system-design/design-pattern.md +++ b/docs/system-design/design-pattern.md @@ -1,6 +1,7 @@ --- title: 设计模式常见面试题总结 category: 系统设计 +icon: "Tools" head: - - meta - name: keywords diff --git a/docs/system-design/framework/mybatis/mybatis-interview.md b/docs/system-design/framework/mybatis/mybatis-interview.md index 409eb6a0..1e11fbbb 100644 --- a/docs/system-design/framework/mybatis/mybatis-interview.md +++ b/docs/system-design/framework/mybatis/mybatis-interview.md @@ -1,6 +1,7 @@ --- title: MyBatis常见面试题总结 category: 框架 +icon: "database" tag: - MyBatis head: diff --git a/docs/system-design/framework/netty.md b/docs/system-design/framework/netty.md index 4593ded5..d55c7b85 100644 --- a/docs/system-design/framework/netty.md +++ b/docs/system-design/framework/netty.md @@ -1,6 +1,7 @@ --- title: Netty常见面试题总结(付费) category: 框架 +icon: "network" --- **Netty** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。 diff --git a/docs/system-design/schedule-task.md b/docs/system-design/schedule-task.md index 5c682b7e..9e5bf596 100644 --- a/docs/system-design/schedule-task.md +++ b/docs/system-design/schedule-task.md @@ -1,6 +1,7 @@ --- title: Java 定时任务详解 category: 系统设计 +icon: "time" head: - - meta - name: keywords diff --git a/docs/system-design/system-design-questions.md b/docs/system-design/system-design-questions.md index ecd71ac3..99429664 100644 --- a/docs/system-design/system-design-questions.md +++ b/docs/system-design/system-design-questions.md @@ -1,6 +1,7 @@ --- title: 系统设计常见面试题总结(付费) category: Java面试指北 +icon: "design" --- **系统设计** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)(点击链接即可查看详细介绍以及加入方法)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)(点击链接即可查看详细介绍以及获取方法)中。 diff --git a/docs/system-design/web-real-time-message-push.md b/docs/system-design/web-real-time-message-push.md index 8d29f504..837506f9 100644 --- a/docs/system-design/web-real-time-message-push.md +++ b/docs/system-design/web-real-time-message-push.md @@ -1,6 +1,7 @@ --- title: Web 实时消息推送详解 category: 系统设计 +icon: "messages" head: - - meta - name: keywords