From 83efb36fb56d197f2c4b471084b884c6a4f23e37 Mon Sep 17 00:00:00 2001 From: guide Date: Mon, 13 Jun 2022 13:14:26 +0800 Subject: [PATCH] =?UTF-8?q?[docs=20feat]=E7=BD=91=E7=AB=99=E6=8E=92?= =?UTF-8?q?=E7=89=88&=E6=A0=B7=E5=BC=8F=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 31 +-- docs/.vuepress/config.ts | 2 +- docs/.vuepress/navbar.ts | 21 +- docs/.vuepress/public/iconfont/iconfont.css | 203 ++++++++++++++++++ docs/.vuepress/public/iconfont/iconfont.ttf | Bin 0 -> 15496 bytes docs/.vuepress/public/iconfont/iconfont.woff | Bin 0 -> 10576 bytes docs/.vuepress/public/iconfont/iconfont.woff2 | Bin 0 -> 9072 bytes docs/.vuepress/sidebar.ts | 87 ++++---- docs/books/cs-basic-coureses.md | 84 -------- docs/books/cs-basics.md | 83 ++++++- docs/books/database.md | 1 + docs/books/java.md | 1 + docs/books/search-engine.md | 1 + docs/books/software-quality.md | 1 + docs/database/basis.md | 2 +- ...ly-used-cache-read-and-write-strategies.md | 2 +- docs/database/redis/cache-basics.md | 26 +++ docs/database/redis/redis-cluster.md | 26 +++ .../redis/redis-memory-fragmentation.md | 2 +- .../distributed-transaction.md | 18 +- docs/high-availability/cluster.md | 5 +- .../disaster-recovery&remote-live.md | 2 + .../fallback&circuit-breaker.md | 23 +- .../high-availability-system-design.md | 5 +- docs/high-availability/limit-request.md | 5 +- docs/high-availability/performance-test.md | 5 + docs/java/basis/generics-and-wildcards.md | 26 +++ docs/open-source-project/big-data.md | 1 + docs/open-source-project/machine-learning.md | 1 + docs/open-source-project/practical-project.md | 1 + docs/open-source-project/system-design.md | 1 + docs/open-source-project/tool-library.md | 1 + docs/open-source-project/tools.md | 1 + docs/open-source-project/tutorial.md | 3 +- docs/readme.md | 15 +- docs/system-design/framework/netty.md | 18 +- .../spring-boot-auto-assembly-principles.md | 2 +- .../spring/spring-common-annotations.md | 2 +- .../spring/spring-design-patterns-summary.md | 2 +- .../framework/spring/spring-transaction.md | 2 +- ...ingboot-knowledge-and-questions-summary.md | 26 +++ docs/system-design/schedule-task.md | 2 +- docs/system-design/system-design-questions.md | 18 +- 43 files changed, 584 insertions(+), 174 deletions(-) create mode 100644 docs/.vuepress/public/iconfont/iconfont.css create mode 100644 docs/.vuepress/public/iconfont/iconfont.ttf create mode 100644 docs/.vuepress/public/iconfont/iconfont.woff create mode 100644 docs/.vuepress/public/iconfont/iconfont.woff2 delete mode 100644 docs/books/cs-basic-coureses.md create mode 100644 docs/database/redis/cache-basics.md create mode 100644 docs/database/redis/redis-cluster.md create mode 100644 docs/java/basis/generics-and-wildcards.md create mode 100644 docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md diff --git a/README.md b/README.md index 8f319f13..2a6e3359 100755 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ ### 基础 -**知识点/面试题** : (必看:+1: ): +**知识点/面试题总结** : (必看:+1: ): 1. [Java 基础常见知识点&面试题总结(上)](docs/java/basis/java-basic-questions-01.md) 2. [Java 基础常见知识点&面试题总结(中)](docs/java/basis/java-basic-questions-02.md) @@ -53,6 +53,7 @@ * [为什么 Java 中只有值传递?](docs/java/basis/why-there-only-value-passing-in-java.md) * [Java 序列化详解](docs/java/basis/serialization.md) +* [泛型&序列化详解](docs/java/basis/generics-and-wildcards.md) * [反射机制详解](docs/java/basis/reflection.md) * [Java 代理模式详解](docs/java/basis/proxy.md) * [IO 模型详解](docs/java/basis/io.md) @@ -60,7 +61,7 @@ ### 集合 -**知识点/面试题** : +**知识点/面试题总结** : 1. [Java 集合常见知识点&面试题总结(上)](docs/java/collection/java-collection-questions-01.md) (必看 :+1:) 2. [Java 集合常见知识点&面试题总结(下)](docs/java/collection/java-collection-questions-02.md) (必看 :+1:) @@ -74,7 +75,7 @@ ### 并发 -**知识点/面试题** : (必看 :+1:) +**知识点/面试题总结** : (必看 :+1:) 1. [Java 并发常见知识点&面试题总结(基础篇)](docs/java/concurrent/java-concurrent-questions-01.md) 2. [Java 并发常见知识点&面试题总结(进阶篇)](docs/java/concurrent/java-concurrent-questions-02.md) @@ -112,8 +113,6 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle ## 计算机基础 -👉 **[图解计算机基础 PDF 下载](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100021725&idx=1&sn=2db9664ca25363139a81691043e9fd8f&chksm=4ea19a1679d61300d8990f7e43bfc7f476577a81b712cf0f9c6f6552a8b219bc081efddb5c54#rd)** 。 - ### 操作系统 1. [操作系统常见问题总结!](docs/cs-basics/operating-system/operating-system-basic-questions-01.md) @@ -166,7 +165,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle ### MySQL -**总结:** +**知识点/面试题总结:** - **[MySQL知识点总结](docs/database/mysql/mysql-questions-01.md)** (必看 :+1:) - [一千行 MySQL 学习笔记](docs/database/mysql/a-thousand-lines-of-mysql-study-notes.md) @@ -185,8 +184,9 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle ### Redis - [Redis 常见问题总结](docs/database/redis/redis-questions-01.md) -- [3种常用的缓存读写策略](docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md) -- [Redis 内存碎片](./docs/database/redis/redis-memory-fragmentation.md) +- [3种常用的缓存读写策略详解](docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md) +- [Redis 内存碎片详解](./docs/database/redis/redis-memory-fragmentation.md) +- [Redis 集群详解](./docs/database/redis/redis-cluster.md) ## 搜索引擎 @@ -218,17 +218,18 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle #### Spring/SpringBoot (必看 :+1:) -**知识点/面试题** : +**知识点/面试题总结** : -1. **[Spring 常见知识点&面试题总结](docs/system-design/framework/spring/spring-knowledge-and-questions-summary.md)** -2. **[SpringBoot 入门指南](https://github.com/Snailclimb/springboot-guide)** +- [Spring 常见知识点&面试题总结](docs/system-design/framework/spring/spring-knowledge-and-questions-summary.md) +- [SpringBoot 常见知识点&面试题总结](docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md) +- [Spring/Spring Boot 常用注解总结](./docs/system-design/framework/spring/spring-common-annotations.md) +- [SpringBoot 入门指南](https://github.com/Snailclimb/springboot-guide) **重要知识点详解** : -1. **[Spring/Spring Boot 常用注解总结!安排!](./docs/system-design/framework/spring/spring-common-annotations.md)** -2. **[Spring 事务总结](docs/system-design/framework/spring/spring-transaction.md)** -3. [Spring 中都用到了那些设计模式?](docs/system-design/framework/spring/spring-design-patterns-summary.md) -4. **[SpringBoot 自动装配原理](docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md)** +- [Spring 事务详解](docs/system-design/framework/spring/spring-transaction.md) +- [Spring 中的设计模式详解](docs/system-design/framework/spring/spring-design-patterns-summary.md) +- [SpringBoot 自动装配原理详解](docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md) #### MyBatis diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index 23d37163..b1c4ffec 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -48,7 +48,7 @@ module.exports = defineHopeConfig({ "link", { rel: "stylesheet", - href: "//at.alicdn.com/t/font_2922463_99aa80ii7cf.css", + href: "/iconfont/iconfont.css", }, ], ], diff --git a/docs/.vuepress/navbar.ts b/docs/.vuepress/navbar.ts index b1126803..8b1d3493 100644 --- a/docs/.vuepress/navbar.ts +++ b/docs/.vuepress/navbar.ts @@ -3,13 +3,20 @@ import { defineNavbarConfig } from "vuepress-theme-hope"; export const navbarConfig = defineNavbarConfig([ { text: "面试指南", icon: "java", link: "/home.md" }, { text: "优质专栏", icon: "recommend", link: "/zhuanlan/" }, - { text: "项目精选", icon: "github", link: "/open-source-project/" }, - { text: "书籍精选", icon: "book", link: "/books/" }, + { text: "开源项目", icon: "github", link: "/open-source-project/" }, + { text: "技术书籍", icon: "book", link: "/books/" }, + { text: "技术文章", icon: "article", link: "/high-quality-technical-articles/" }, { - text: "旧版链接", - icon: "java", - link: "https://snailclimb.gitee.io/javaguide/#/", + text: "网站相关", + icon: "info", + children: [ + { text: "走近作者", icon: "zuozhe", link: "/about-the-author/" }, + { + text: "旧版入口", + icon: "java", + link: "https://snailclimb.gitee.io/javaguide/#/", + }, + { text: "RSS", icon: "rss", link: "https://javaguide.cn/feed.json" }, + ], }, - { text: "RSS订阅", icon: "rss", link: "https://javaguide.cn/feed.json" }, - { text: "关于作者", icon: "zuozhe", link: "/about-the-author/" }, ]); diff --git a/docs/.vuepress/public/iconfont/iconfont.css b/docs/.vuepress/public/iconfont/iconfont.css new file mode 100644 index 00000000..2d65f1c0 --- /dev/null +++ b/docs/.vuepress/public/iconfont/iconfont.css @@ -0,0 +1,203 @@ +@font-face { + font-family: "iconfont"; /* Project id 2922463 */ + src: url('iconfont.woff2?t=1655095748938') format('woff2'), + url('iconfont.woff?t=1655095748938') format('woff'), + url('iconfont.ttf?t=1655095748938') format('truetype'); +} + +.iconfont { + font-family: "iconfont" !important; + font-size: 16px; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.icon-search:before { + content: "\e7de"; +} + +.icon-featured:before { + content: "\e633"; +} + +.icon-codelibrary-fill:before { + content: "\e84b"; +} + +.icon-tool:before { + content: "\e70c"; +} + +.icon-highavailable:before { + content: "\ea23"; +} + +.icon-big-data:before { + content: "\e632"; +} + +.icon-work:before { + content: "\e8d7"; +} + +.icon-project:before { + content: "\e702"; +} + +.icon-article:before { + content: "\e672"; +} + +.icon-a-MachineLearning:before { + content: "\e617"; +} + +.icon-github:before { + content: "\e673"; +} + +.icon-rss:before { + content: "\e768"; +} + +.icon-mianshi:before { + content: "\e614"; +} + +.icon-et-performance:before { + content: "\e623"; +} + +.icon-virtual_machine:before { + content: "\e73f"; +} + +.icon-basic:before { + content: "\e67b"; +} + +.icon-container:before { + content: "\e641"; +} + +.icon-MQ:before { + content: "\e684"; +} + +.icon-redis:before { + content: "\e619"; +} + +.icon-mysql:before { + content: "\e613"; +} + +.icon-recommend:before { + content: "\e639"; +} + +.icon-chat:before { + content: "\e66a"; +} + +.icon-tips:before { + content: "\e62a"; +} + +.icon-chajian1:before { + content: "\e69d"; +} + +.icon-star:before { + content: "\e61d"; +} + +.icon-docker1:before { + content: "\e659"; +} + +.icon-zuozhe:before { + content: "\e688"; +} + +.icon-pdf:before { + content: "\e740"; +} + +.icon-suanfaku:before { + content: "\e63a"; +} + +.icon-jichushuju:before { + content: "\e60c"; +} + +.icon-people-network-full:before { + content: "\e865"; +} + +.icon-git:before { + content: "\e708"; +} + +.icon-luxianchaxun:before { + content: "\e622"; +} + +.icon-computer:before { + content: "\e601"; +} + +.icon-framework:before { + content: "\e69e"; +} + +.icon-Tools:before { + content: "\ed5f"; +} + +.icon-xitongsheji:before { + content: "\e63e"; +} + +.icon-database:before { + content: "\e8e4"; +} + +.icon-security-fill:before { + content: "\e78b"; +} + +.icon-docker:before { + content: "\e616"; +} + +.icon-java:before { + content: "\e6e0"; +} + +.icon-book:before { + content: "\e7c7"; +} + +.icon-network:before { + content: "\e67a"; +} + +.icon-caozuoxitong:before { + content: "\e686"; +} + +.icon-gaojixiaozuzhibeifen:before { + content: "\e756"; +} + +.icon-distributed-network:before { + content: "\e8d5"; +} + +.icon-intellijidea:before { + content: "\ebd1"; +} + diff --git a/docs/.vuepress/public/iconfont/iconfont.ttf b/docs/.vuepress/public/iconfont/iconfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..2d48539847e8909eaffd52be212125ddf1ab7452 GIT binary patch literal 15496 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 KJUlwWasL-+2?)Rd literal 0 HcmV?d00001 diff --git a/docs/.vuepress/public/iconfont/iconfont.woff b/docs/.vuepress/public/iconfont/iconfont.woff new file mode 100644 index 0000000000000000000000000000000000000000..aaa52180c471e981d6bc357a047978fcf37aa680 GIT binary patch literal 10576 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 G!2bc6@kk5+ literal 0 HcmV?d00001 diff --git a/docs/.vuepress/public/iconfont/iconfont.woff2 b/docs/.vuepress/public/iconfont/iconfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..4b04037688f5319b3f9fe87b56753e2505ea435f GIT binary patch literal 9072 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 literal 0 HcmV?d00001 diff --git a/docs/.vuepress/sidebar.ts b/docs/.vuepress/sidebar.ts index 97977cfc..791c9c22 100644 --- a/docs/.vuepress/sidebar.ts +++ b/docs/.vuepress/sidebar.ts @@ -15,7 +15,6 @@ export const sidebarConfig = defineSidebarConfig({ ], "/books/": [ "cs-basics", - "cs-basic-coureses", "database", "search-engine", "java", @@ -76,7 +75,7 @@ export const sidebarConfig = defineSidebarConfig({ }, { text: "工作", - icon: "work0", + icon: "work", prefix: "work/", collapsable: false, children: ["get-into-work-mode-quickly-when-you-join-a-company"], @@ -111,11 +110,12 @@ export const sidebarConfig = defineSidebarConfig({ "java-basic-questions-03", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "why-there-only-value-passing-in-java", "serialization", + "generics-and-wildcards", "reflection", "proxy", "io", @@ -136,6 +136,7 @@ export const sidebarConfig = defineSidebarConfig({ { text: "源码分析", collapsable: true, + icon: "star", children: [ "arraylist-source-code", "hashmap-source-code", @@ -154,7 +155,7 @@ export const sidebarConfig = defineSidebarConfig({ "java-concurrent-questions-02", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "java-thread-pool-summary", @@ -188,7 +189,7 @@ export const sidebarConfig = defineSidebarConfig({ { text: "新特性", prefix: "new-features/", - icon: "features", + icon: "featured", collapsable: true, children: [ "java8-common-new-features", @@ -265,8 +266,12 @@ export const sidebarConfig = defineSidebarConfig({ prefix: "database/", collapsable: true, children: [ - "basis", - "character-set", + { + text: "基础", + icon: "basic", + collapsable: true, + children: ["basis", "character-set"], + }, { text: "MySQL", prefix: "mysql/", @@ -278,7 +283,7 @@ export const sidebarConfig = defineSidebarConfig({ "mysql-high-performance-optimization-specification-recommendations", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "mysql-index", @@ -298,14 +303,16 @@ export const sidebarConfig = defineSidebarConfig({ icon: "redis", collapsable: true, children: [ + "cache-basics", "redis-questions-01", { text: "重要知识点", - icon: "important", + icon: "star", collapsable: true, children: [ "3-commonly-used-cache-read-and-write-strategies", "redis-memory-fragmentation", + "redis-cluster", ], }, ], @@ -314,7 +321,7 @@ export const sidebarConfig = defineSidebarConfig({ }, { text: "开发工具", - icon: "Tools", + icon: "tool", prefix: "tools/", collapsable: true, children: [ @@ -339,6 +346,37 @@ export const sidebarConfig = defineSidebarConfig({ }, ], }, + { + text: "常用框架", + prefix: "system-design/framework/", + icon: "framework", + collapsable: true, + children: [ + { + text: "Spring&Spring Boot", + prefix: "spring/", + collapsable: true, + children: [ + "spring-knowledge-and-questions-summary", + "springboot-knowledge-and-questions-summary", + "spring-common-annotations", + { + text: "重要知识点", + icon: "star", + collapsable: true, + children: [ + "spring-transaction", + "spring-design-patterns-summary", + "spring-boot-auto-assembly-principles", + ], + }, + ], + }, + "mybatis/mybatis-interview", + "netty", + "springcloud/springcloud-intro", + ], + }, { text: "系统设计", icon: "xitongsheji", @@ -353,33 +391,6 @@ export const sidebarConfig = defineSidebarConfig({ collapsable: true, children: ["RESTfulAPI", "naming", "refactoring"], }, - { - text: "常用框架", - prefix: "framework/", - icon: "framework", - collapsable: true, - children: [ - { - text: "Spring", - prefix: "spring/", - collapsable: true, - children: [ - "spring-knowledge-and-questions-summary", - "spring-common-annotations", - "spring-transaction", - "spring-design-patterns-summary", - "spring-boot-auto-assembly-principles", - ], - }, - "mybatis/mybatis-interview", - "netty", - { - text: "SpringCloud", - prefix: "springcloud/", - children: ["springcloud-intro"], - }, - ], - }, { text: "安全", prefix: "security/", @@ -455,7 +466,7 @@ export const sidebarConfig = defineSidebarConfig({ }, { text: "高可用", - icon: "CalendarAvailability-1", + icon: "highavailable", prefix: "high-availability/", collapsable: true, children: [ diff --git a/docs/books/cs-basic-coureses.md b/docs/books/cs-basic-coureses.md deleted file mode 100644 index 42fee641..00000000 --- a/docs/books/cs-basic-coureses.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: 计算机专业基础课 -category: 计算机书籍 ---- - -## 通用课 - -通用课的部分我想分为两大部分来介绍,主要就是数学和英语,一般在大一和大二两学年就可以全部修完,大二大三逐渐接触专业课。通用课作为许多高中生升入大学的第一门课,算是高中阶段到本科阶段的一个过渡,从职业生涯重要性上来说,远不及专业课重要,但是在本科阶段的学习生活规划中,有着非常重要的地位。由于通用课的课程多,学分重,占据了本科阶段绩点的主要部分,影响到学生在前两年的专业排名,也影响到大三结束时的推免资格分配,也就是保研。而从升学角度来看,对于攻读研究生和博士生的小伙伴来说,数学和英语这两大基础课,还是十分有用的。 - -### 数学 - -#### 微积分(高等数学) - -微积分,即传说中的高数,成为了无数新大一心中的痛。但好在,大学的课程考核没那么严格,期末想要拿高分,也不至于像高中那样刷题刷的那么狠。微积分对于计算机专业学生的重要性,主要体现在计算机图形学中的函数变换,机器学习中的梯度算法,信号处理等领域。 - -微积分的知识体系包括微分和积分两部分,一般会先学微分,再学积分,也有的学校把高数分为两个学期。微分就是高中的导数的升级版,对于大一萌新来说还算比较友好。积分恰好是微分的逆运算,思想上对大一萌新来说比较新,一时半会可能接受不了。不过这门课所有的高校都有开设,而且大部分的名校都有配套的网课,教材也都打磨的非常出色,结合网课和教材的“啃书”学习模式,这门课一定不会落下。 - -书籍的话,推荐《普林斯顿微积分读本》。这本书详细讲解了微积分基础、极限、连续、微分、导数的应用、积分、无穷级数、泰勒级数与幂级数等内容。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155056751.png) - -#### 线性代数(高等代数) - -线性代数的思维模式就更加复杂了一些,它定义了一个全新的数学世界,所有的符号、定理都是全新的,唯一能尝试的去理解的方式,大概就是用几何的方式去理解线性代数了。由于线性代数和几何学有着密不可分的关系,比如空间变换的理论支撑就是线性代数,因此,网上有着各种“可视化学习线性代数”的学习资源,帮助理解线性代数的意义,有助于公式的记忆。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409153940473.png) - -书籍的话,推荐中科大李尚志老师的 **[《线性代数学习指导》](https://book.douban.com/subject/26390093/)** 。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155325251.png) - -#### 概率论与数理统计 - -对于计算机专业的小伙伴来说,这门课可能是概率论更有用一点,而非数理统计。可能某些学校只开设概率论课程,也可能数理统计也教,但仅仅是皮毛。概率论的学习路线和微积分相似,就是一个个公式辅以实例,不像线性代数那么抽象,比较贴近生活。在现在的就业形势下,概率论与数理统计专业的学生,应该是数学专业最好就业的了,他们通常到岗位上会做一些数据分析的工作,因此,**这门课程确实是数据分析的重要前置课程,概率论在机器学习中的重要性也就不言而喻了。** - -书籍的话,推荐 **[《概率论与数理统计教程》](https://book.douban.com/subject/34897672/)** 。这本书共八章,前四章为概率论部分,主要叙述各种概率分布及其性质,后四章为数理统计部分,主要叙述各种参数估计与假设检验。 - -![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155738505.png) - -#### 离散数学(集合论、图论、近世代数等) - -离散数学是计算机专业的专属数学,但实际上对于本科毕业找工作的小伙伴来说,离散数学还并没有发挥它的巨大作用。离散数学的作用主要在在图研究等领域,理论性极强,需要读研深造的小伙伴尽可能地扎实掌握。 - -### 英语 - -英语算是大学里面比较灵活的一项技能了,有的人会说,“英语学的越好,对个人发展越有利”,此话说的没错,但是对于一些有着明确发展目标的小伙伴,可能英语技能并不在他们的技能清单内。接下来的这些话只针对计算机专业的小伙伴们哦。 - -英语课在大学本科一般只有前两年开设,小伙伴们可以记住,**想用英语课来提升自己的英语水平的,可以打消这个念头了。** 英语水平的提高全靠自己平时的积累和练习,以及有针对性的刷题。 - -**英语的大学四六级一定要过。** 这是必备技能,绝大部分就业岗位都要看四六级水平的,最起码要通过的。四级比高中英语稍微难一些,一般的小伙伴可能会卡在六级上,六级需要针对性的训练一下,因为大学期间能接触英语的实在太少了,每学期一门英语课是不足以保持自己的英语水平的。对于一些来自于偏远地区,高中英语基础薄弱的,考四六级会更加吃力。建议考前集中训练一下历年真题,辅以背一下高频词汇,四六级通过只需要 425 分,这个分数线还是比较容易达到的。稍微好一点的小伙伴可能冲一下 500 分,要是能考到 600 分的话,那是非常不错的水平了,算是简历上比较有亮点的一项。 - -英语的雅思托福考试只限于想要出国的小伙伴,以及应聘岗位对英语能力有特殊要求的。雅思托福考试裸考不容易通过,花钱去比较靠谱的校外补课班应该是一个比较好的选择。 - -对于计算机专业的小伙伴来说,英语能力还是比较重要的,虽然应聘的时候不会因为没有雅思托福成绩卡人,但是你起码要能够: - -- **熟练使用英文界面的软件、系统等** -- **对于外网的一些博客、bug 解决方案等,阅读无压力** -- **熟练阅读英文文献** -- **具备一定的英文论文的撰写能力** - -毕竟计算机语言就是字符语言,听说读写中最起码要满足**读写**这两项不过分吧。 - -## 编译原理 - -编译原理相比于前面介绍的专业课,地位显得不那么重要了。编译原理的重要性主要体现在: - -- 底层语言、引擎或高级语言的开发,如 MySQL,Java 等 -- 操作系统或嵌入式系统的开发 -- 词法、语法、语义的思想,以及自动机思想 - -**编译原理的重要前置课程就是形式语言与自动机,自动机的思想在词法分析当中有着重要应用,学习了这门课后,应该就会发现许多场景下,自动机算法的妙用了。** - -总的来说,这门课对于各位程序员的职业发展来说,相对不那么重要,但是从难度上来说,学习这门课可以对编程思想有一个较好的巩固。学习资源的话,除了课堂上的幻灯片课件以外,还可以把 《编译原理》 这本书作为参考书,用以辅助自己学不懂的地方(大家口中的龙书,想要啃下来还是有一定难度的)。 - -![](https://img-blog.csdnimg.cn/20210406152148373.png) - -其他书籍推荐: - -- **[《现代编译原理》](https://book.douban.com/subject/30191414/)** :编译原理的入门书。 -- **[《编译器设计》](https://book.douban.com/subject/20436488/)** : 覆盖了编译器从前端到后端的全部主题。 - -我上面推荐的书籍的难度还是比较高的,真心很难坚持看完。这里强烈推荐[哈工大的编译原理视频课程](https://www.icourse163.org/course/HIT-1002123007),真心不错,还是国家精品课程,关键还是又漂亮有温柔的美女老师讲的! - -![](https://img-blog.csdnimg.cn/20210406152847824.png) \ No newline at end of file diff --git a/docs/books/cs-basics.md b/docs/books/cs-basics.md index 0ff3a71e..8eae5051 100644 --- a/docs/books/cs-basics.md +++ b/docs/books/cs-basics.md @@ -1,6 +1,7 @@ --- title: 计算机基础 category: 计算机书籍 +icon: computer head: - - meta - name: keywords @@ -190,4 +191,84 @@ Github 上就有一些名校的计算机网络试验/Project: 视频的话推荐你看浙江大学的国家精品课程—**[《数据结构》](https://www.icourse163.org/course/ZJU-93001#/info)** 。 -姥姥的数据结构讲的非常棒!不过,还是有一些难度的,尤其是课后练习题。 \ No newline at end of file +姥姥的数据结构讲的非常棒!不过,还是有一些难度的,尤其是课后练习题。 + +## 计算机专业基础课 + +数学和英语属于通用课,一般在大一和大二两学年就可以全部修完,大二大三逐渐接触专业课。通用课作为许多高中生升入大学的第一门课,算是高中阶段到本科阶段的一个过渡,从职业生涯重要性上来说,远不及专业课重要,但是在本科阶段的学习生活规划中,有着非常重要的地位。由于通用课的课程多,学分重,占据了本科阶段绩点的主要部分,影响到学生在前两年的专业排名,也影响到大三结束时的推免资格分配,也就是保研。而从升学角度来看,对于攻读研究生和博士生的小伙伴来说,数学和英语这两大基础课,还是十分有用的。 + +### 数学 + +#### 微积分(高等数学) + +微积分,即传说中的高数,成为了无数新大一心中的痛。但好在,大学的课程考核没那么严格,期末想要拿高分,也不至于像高中那样刷题刷的那么狠。微积分对于计算机专业学生的重要性,主要体现在计算机图形学中的函数变换,机器学习中的梯度算法,信号处理等领域。 + +微积分的知识体系包括微分和积分两部分,一般会先学微分,再学积分,也有的学校把高数分为两个学期。微分就是高中的导数的升级版,对于大一萌新来说还算比较友好。积分恰好是微分的逆运算,思想上对大一萌新来说比较新,一时半会可能接受不了。不过这门课所有的高校都有开设,而且大部分的名校都有配套的网课,教材也都打磨的非常出色,结合网课和教材的“啃书”学习模式,这门课一定不会落下。 + +书籍的话,推荐《普林斯顿微积分读本》。这本书详细讲解了微积分基础、极限、连续、微分、导数的应用、积分、无穷级数、泰勒级数与幂级数等内容。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155056751.png) + +#### 线性代数(高等代数) + +线性代数的思维模式就更加复杂了一些,它定义了一个全新的数学世界,所有的符号、定理都是全新的,唯一能尝试的去理解的方式,大概就是用几何的方式去理解线性代数了。由于线性代数和几何学有着密不可分的关系,比如空间变换的理论支撑就是线性代数,因此,网上有着各种“可视化学习线性代数”的学习资源,帮助理解线性代数的意义,有助于公式的记忆。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409153940473.png) + +书籍的话,推荐中科大李尚志老师的 **[《线性代数学习指导》](https://book.douban.com/subject/26390093/)** 。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155325251.png) + +#### 概率论与数理统计 + +对于计算机专业的小伙伴来说,这门课可能是概率论更有用一点,而非数理统计。可能某些学校只开设概率论课程,也可能数理统计也教,但仅仅是皮毛。概率论的学习路线和微积分相似,就是一个个公式辅以实例,不像线性代数那么抽象,比较贴近生活。在现在的就业形势下,概率论与数理统计专业的学生,应该是数学专业最好就业的了,他们通常到岗位上会做一些数据分析的工作,因此,**这门课程确实是数据分析的重要前置课程,概率论在机器学习中的重要性也就不言而喻了。** + +书籍的话,推荐 **[《概率论与数理统计教程》](https://book.douban.com/subject/34897672/)** 。这本书共八章,前四章为概率论部分,主要叙述各种概率分布及其性质,后四章为数理统计部分,主要叙述各种参数估计与假设检验。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/github/javaguide/booksimage-20220409155738505.png) + +#### 离散数学(集合论、图论、近世代数等) + +离散数学是计算机专业的专属数学,但实际上对于本科毕业找工作的小伙伴来说,离散数学还并没有发挥它的巨大作用。离散数学的作用主要在在图研究等领域,理论性极强,需要读研深造的小伙伴尽可能地扎实掌握。 + +### 英语 + +英语算是大学里面比较灵活的一项技能了,有的人会说,“英语学的越好,对个人发展越有利”,此话说的没错,但是对于一些有着明确发展目标的小伙伴,可能英语技能并不在他们的技能清单内。接下来的这些话只针对计算机专业的小伙伴们哦。 + +英语课在大学本科一般只有前两年开设,小伙伴们可以记住,**想用英语课来提升自己的英语水平的,可以打消这个念头了。** 英语水平的提高全靠自己平时的积累和练习,以及有针对性的刷题。 + +**英语的大学四六级一定要过。** 这是必备技能,绝大部分就业岗位都要看四六级水平的,最起码要通过的。四级比高中英语稍微难一些,一般的小伙伴可能会卡在六级上,六级需要针对性的训练一下,因为大学期间能接触英语的实在太少了,每学期一门英语课是不足以保持自己的英语水平的。对于一些来自于偏远地区,高中英语基础薄弱的,考四六级会更加吃力。建议考前集中训练一下历年真题,辅以背一下高频词汇,四六级通过只需要 425 分,这个分数线还是比较容易达到的。稍微好一点的小伙伴可能冲一下 500 分,要是能考到 600 分的话,那是非常不错的水平了,算是简历上比较有亮点的一项。 + +英语的雅思托福考试只限于想要出国的小伙伴,以及应聘岗位对英语能力有特殊要求的。雅思托福考试裸考不容易通过,花钱去比较靠谱的校外补课班应该是一个比较好的选择。 + +对于计算机专业的小伙伴来说,英语能力还是比较重要的,虽然应聘的时候不会因为没有雅思托福成绩卡人,但是你起码要能够: + +- **熟练使用英文界面的软件、系统等** +- **对于外网的一些博客、bug 解决方案等,阅读无压力** +- **熟练阅读英文文献** +- **具备一定的英文论文的撰写能力** + +毕竟计算机语言就是字符语言,听说读写中最起码要满足**读写**这两项不过分吧。 + +### 编译原理 + +编译原理相比于前面介绍的专业课,地位显得不那么重要了。编译原理的重要性主要体现在: + +- 底层语言、引擎或高级语言的开发,如 MySQL,Java 等 +- 操作系统或嵌入式系统的开发 +- 词法、语法、语义的思想,以及自动机思想 + +**编译原理的重要前置课程就是形式语言与自动机,自动机的思想在词法分析当中有着重要应用,学习了这门课后,应该就会发现许多场景下,自动机算法的妙用了。** + +总的来说,这门课对于各位程序员的职业发展来说,相对不那么重要,但是从难度上来说,学习这门课可以对编程思想有一个较好的巩固。学习资源的话,除了课堂上的幻灯片课件以外,还可以把 《编译原理》 这本书作为参考书,用以辅助自己学不懂的地方(大家口中的龙书,想要啃下来还是有一定难度的)。 + +![](https://img-blog.csdnimg.cn/20210406152148373.png) + +其他书籍推荐: + +- **[《现代编译原理》](https://book.douban.com/subject/30191414/)** :编译原理的入门书。 +- **[《编译器设计》](https://book.douban.com/subject/20436488/)** : 覆盖了编译器从前端到后端的全部主题。 + +我上面推荐的书籍的难度还是比较高的,真心很难坚持看完。这里强烈推荐[哈工大的编译原理视频课程](https://www.icourse163.org/course/HIT-1002123007),真心不错,还是国家精品课程,关键还是又漂亮有温柔的美女老师讲的! + +![](https://img-blog.csdnimg.cn/20210406152847824.png) \ No newline at end of file diff --git a/docs/books/database.md b/docs/books/database.md index 07fe2867..3a11b145 100644 --- a/docs/books/database.md +++ b/docs/books/database.md @@ -1,6 +1,7 @@ --- title: 数据库 category: 计算机书籍 +icon: database head: - - meta - name: keywords diff --git a/docs/books/java.md b/docs/books/java.md index 0c7e22e7..2964d531 100644 --- a/docs/books/java.md +++ b/docs/books/java.md @@ -1,6 +1,7 @@ --- title: Java category: 计算机书籍 +icon: java --- ## Java 基础 diff --git a/docs/books/search-engine.md b/docs/books/search-engine.md index 4ac8fe32..d441c34f 100644 --- a/docs/books/search-engine.md +++ b/docs/books/search-engine.md @@ -1,6 +1,7 @@ --- title: 搜索引擎 category: 计算机书籍 +icon: search --- ## Lucene diff --git a/docs/books/software-quality.md b/docs/books/software-quality.md index f65df7f0..ad706874 100644 --- a/docs/books/software-quality.md +++ b/docs/books/software-quality.md @@ -1,6 +1,7 @@ --- title: 软件质量 category: 计算机书籍 +icon: highavailable head: - - meta - name: keywords diff --git a/docs/database/basis.md b/docs/database/basis.md index 19451395..6a926fe3 100644 --- a/docs/database/basis.md +++ b/docs/database/basis.md @@ -1,5 +1,5 @@ --- -title: 数据库基础知识 +title: 数据库基础知识总结 category: 数据库 tag: - 数据库基础 diff --git a/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md b/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md index 00b6535a..c60fa4c5 100644 --- a/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md +++ b/docs/database/redis/3-commonly-used-cache-read-and-write-strategies.md @@ -1,5 +1,5 @@ --- -title: 3种常用的缓存读写策略 +title: 3种常用的缓存读写策略详解 category: 数据库 tag: - Redis diff --git a/docs/database/redis/cache-basics.md b/docs/database/redis/cache-basics.md new file mode 100644 index 00000000..d63e6bfd --- /dev/null +++ b/docs/database/redis/cache-basics.md @@ -0,0 +1,26 @@ +--- +title: 缓存基础 +category: 数据库 +tag: + - Redis +--- + +**缓存基础** 为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/database/redis/redis-cluster.md b/docs/database/redis/redis-cluster.md new file mode 100644 index 00000000..5bbf1a22 --- /dev/null +++ b/docs/database/redis/redis-cluster.md @@ -0,0 +1,26 @@ +--- +title: Redis 集群详解 +category: 数据库 +tag: + - Redis +--- + +**Redis 集群** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/database/redis/redis-memory-fragmentation.md b/docs/database/redis/redis-memory-fragmentation.md index 2a4df61f..5005db3c 100644 --- a/docs/database/redis/redis-memory-fragmentation.md +++ b/docs/database/redis/redis-memory-fragmentation.md @@ -1,5 +1,5 @@ --- -title: Redis 内存碎片 +title: Redis 内存碎片详解 category: 数据库 tag: - Redis diff --git a/docs/distributed-system/distributed-transaction.md b/docs/distributed-system/distributed-transaction.md index de735db4..aec037dc 100644 --- a/docs/distributed-system/distributed-transaction.md +++ b/docs/distributed-system/distributed-transaction.md @@ -3,8 +3,22 @@ title: 分布式事务 category: 分布式 --- -分布式事务相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**分布式事务** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! diff --git a/docs/high-availability/cluster.md b/docs/high-availability/cluster.md index 5da34020..a64bc21b 100644 --- a/docs/high-availability/cluster.md +++ b/docs/high-availability/cluster.md @@ -1,3 +1,6 @@ -# 集群 +--- +title: 集群 +category: 高可用 +--- 相同的服务部署多份,避免单点故障。 \ No newline at end of file diff --git a/docs/high-availability/disaster-recovery&remote-live.md b/docs/high-availability/disaster-recovery&remote-live.md index 0b8f87af..82603da0 100644 --- a/docs/high-availability/disaster-recovery&remote-live.md +++ b/docs/high-availability/disaster-recovery&remote-live.md @@ -1,3 +1,5 @@ + + # 灾备设计&异地多活 **灾备** = 容灾+备份。 diff --git a/docs/high-availability/fallback&circuit-breaker.md b/docs/high-availability/fallback&circuit-breaker.md index 18b6fb1f..64508492 100644 --- a/docs/high-availability/fallback&circuit-breaker.md +++ b/docs/high-availability/fallback&circuit-breaker.md @@ -1,7 +1,24 @@ -# 降级&熔断 +--- +title: 降级&熔断 +category: 高可用 +--- -降级&熔断相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**降级&熔断** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! diff --git a/docs/high-availability/high-availability-system-design.md b/docs/high-availability/high-availability-system-design.md index 2fa0f8ae..85e69406 100644 --- a/docs/high-availability/high-availability-system-design.md +++ b/docs/high-availability/high-availability-system-design.md @@ -1,4 +1,7 @@ -# 高可用系统设计 +--- +title: 高可用系统设计指南 +category: 高可用 +--- 一篇短小的文章,面试经常遇到的这个问题。本文主要包括下面这些内容: diff --git a/docs/high-availability/limit-request.md b/docs/high-availability/limit-request.md index 8c93674f..32f7a8f7 100644 --- a/docs/high-availability/limit-request.md +++ b/docs/high-availability/limit-request.md @@ -1,4 +1,7 @@ -# 限流 +--- +title: 限流 +category: 高可用 +--- ## 何为限流?为什么要限流? diff --git a/docs/high-availability/performance-test.md b/docs/high-availability/performance-test.md index dc3ff9ba..bd8c697d 100644 --- a/docs/high-availability/performance-test.md +++ b/docs/high-availability/performance-test.md @@ -1,3 +1,8 @@ +--- +title: 性能测试入门 +category: 高可用 +--- + # 性能测试入门 性能测试一般情况下都是由测试这个职位去做的,那还需要我们开发学这个干嘛呢?了解性能测试的指标、分类以及工具等知识有助于我们更好地去写出性能更好的程序,另外作为开发这个角色,如果你会性能测试的话,相信也会为你的履历加分不少。 diff --git a/docs/java/basis/generics-and-wildcards.md b/docs/java/basis/generics-and-wildcards.md new file mode 100644 index 00000000..43678c3d --- /dev/null +++ b/docs/java/basis/generics-and-wildcards.md @@ -0,0 +1,26 @@ +--- +title: 泛型&序列化详解 +category: Java +tag: + - Java基础 +--- + +**泛型&通配符** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/open-source-project/big-data.md b/docs/open-source-project/big-data.md index b1ea7f03..d36c73e1 100644 --- a/docs/open-source-project/big-data.md +++ b/docs/open-source-project/big-data.md @@ -1,6 +1,7 @@ --- title: 大数据 category: 开源项目 +icon: big-data --- - **[Spark](https://github.com/apache/spark)** :Spark 是用于大规模数据处理的统一分析引擎。 diff --git a/docs/open-source-project/machine-learning.md b/docs/open-source-project/machine-learning.md index 7921c0d1..94e7654d 100644 --- a/docs/open-source-project/machine-learning.md +++ b/docs/open-source-project/machine-learning.md @@ -1,6 +1,7 @@ --- title: 机器学习 category: 开源项目 +icon: a-MachineLearning --- - **[Deeplearning4j](https://github.com/eclipse/deeplearning4j)** : Deeplearning4j 是第一个为 Java 和 Scala 编写的商业级,开源,分布式深度学习库。 diff --git a/docs/open-source-project/practical-project.md b/docs/open-source-project/practical-project.md index 01533aba..c2c80c99 100644 --- a/docs/open-source-project/practical-project.md +++ b/docs/open-source-project/practical-project.md @@ -1,6 +1,7 @@ --- title: 实战项目 category: 开源项目 +icon: project --- ## 博客/论坛/考试系统 diff --git a/docs/open-source-project/system-design.md b/docs/open-source-project/system-design.md index 4c32a71c..06dec122 100644 --- a/docs/open-source-project/system-design.md +++ b/docs/open-source-project/system-design.md @@ -1,6 +1,7 @@ --- title: 系统设计 category: 开源项目 +icon: "xitongsheji" --- ## 基础框架 diff --git a/docs/open-source-project/tool-library.md b/docs/open-source-project/tool-library.md index e27d35e5..f4d23809 100644 --- a/docs/open-source-project/tool-library.md +++ b/docs/open-source-project/tool-library.md @@ -1,6 +1,7 @@ --- title: 工具类库 category: 开源项目 +icon: codelibrary-fill --- ## 代码质量 diff --git a/docs/open-source-project/tools.md b/docs/open-source-project/tools.md index ade85927..a906175b 100644 --- a/docs/open-source-project/tools.md +++ b/docs/open-source-project/tools.md @@ -1,6 +1,7 @@ --- title: 开发工具 category: 开源项目 +icon: tool --- ## Java 相关 diff --git a/docs/open-source-project/tutorial.md b/docs/open-source-project/tutorial.md index b1a632bd..a662f948 100644 --- a/docs/open-source-project/tutorial.md +++ b/docs/open-source-project/tutorial.md @@ -1,6 +1,7 @@ --- -title: 教程 +title: 技术教程 category: 开源项目 +icon: "book" --- ## Java diff --git a/docs/readme.md b/docs/readme.md index 2243e81d..15df3f02 100644 --- a/docs/readme.md +++ b/docs/readme.md @@ -16,18 +16,19 @@ footer: |- 鄂ICP备2020015769号-1 | 主题: VuePress Theme Hope --- +## 网站概览 + +- [Java 面试指南](./home.md) :一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide! +- [Java开源项目精选](./open-source-project/readme.md) :收集整理了 Gitee/Github 上非常棒的 Java 开源项目集合。Java 开发必备! +- [Java技术文章精选](/high-quality-technical-articles/) : 精选一些和 Java 相关的优质技术文章,每一篇都值得你阅读 3 遍以上! +- [Java书单精选](/books/) : Java 后端开发值得一读的一些书籍。 +- [走进作者](/about-the-author/) : 个人经历、闲聊杂谈。 + ## 必看专栏 - **[《Java 面试指北》](./zhuanlan/java-mian-shi-zhi-bei.md)** : 与 JavaGuide 开源版的内容互补! - **[《手写 RPC 框架》](./zhuanlan/handwritten-rpc-framework.md)** : 从零开始基于 Netty+Kyro+Zookeeper 实现一个简易的 RPC 框架。 -## 推荐阅读 - -- [Java学习路线](https://zhuanlan.zhihu.com/p/379041500) : 一份涵盖 Java 后端开发必备技能的学习路线!全面且清晰! -- [Java开源项目精选](./open-source-project/readme.md) :收集整理了 Gitee/Github 上非常棒的 Java 开源项目集合。Java 开发必备! -- [Java技术文章精选](/high-quality-technical-articles/) : 精选一些和 Java 相关的优质技术文章,每一篇都值得你阅读 3 遍以上! -- [Java书单精选](https://gitee.com/SnailClimb/awesome-cs) : Java 后端开发值得一读的一些书籍。 - ## PDF - [《JavaGuide 面试突击版》](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=100029614&idx=1&sn=62993c5cf10265cb7018db7f1ec67250&chksm=4ea1fb6579d67273499b7243641d4ef372decd08047bfbb6dfb5843ef81c7ccba209086cf345#rd) diff --git a/docs/system-design/framework/netty.md b/docs/system-design/framework/netty.md index fcd75b36..ccb64e85 100644 --- a/docs/system-design/framework/netty.md +++ b/docs/system-design/framework/netty.md @@ -3,8 +3,22 @@ title: Netty 知识点&面试题总结 category: 框架 --- -Netty 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**Netty** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! diff --git a/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md b/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md index 7c4ce3b2..9d620021 100644 --- a/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md +++ b/docs/system-design/framework/spring/spring-boot-auto-assembly-principles.md @@ -1,5 +1,5 @@ --- -title: Spring Boot 自动装配原理 +title: SpringBoot 自动装配原理详解 category: 框架 tag: - SpringBoot diff --git a/docs/system-design/framework/spring/spring-common-annotations.md b/docs/system-design/framework/spring/spring-common-annotations.md index 5d1f59b3..2da807ca 100644 --- a/docs/system-design/framework/spring/spring-common-annotations.md +++ b/docs/system-design/framework/spring/spring-common-annotations.md @@ -1,5 +1,5 @@ --- -title: Spring/Spring Boot 常用注解总结! +title: Spring&Spring Boot 常用注解总结! category: 框架 tag: - SpringBoot diff --git a/docs/system-design/framework/spring/spring-design-patterns-summary.md b/docs/system-design/framework/spring/spring-design-patterns-summary.md index d38954df..0f42eab7 100644 --- a/docs/system-design/framework/spring/spring-design-patterns-summary.md +++ b/docs/system-design/framework/spring/spring-design-patterns-summary.md @@ -1,5 +1,5 @@ --- -title: Spring 设计模式总结 +title: Spring 中的设计模式详解 category: 框架 tag: - Spring diff --git a/docs/system-design/framework/spring/spring-transaction.md b/docs/system-design/framework/spring/spring-transaction.md index 8e6f9369..eaada8c8 100644 --- a/docs/system-design/framework/spring/spring-transaction.md +++ b/docs/system-design/framework/spring/spring-transaction.md @@ -1,5 +1,5 @@ --- -title: Spring 事务总结 +title: Spring 事务详解 category: 框架 tag: - Spring diff --git a/docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md b/docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md new file mode 100644 index 00000000..2d65d244 --- /dev/null +++ b/docs/system-design/framework/spring/springboot-knowledge-and-questions-summary.md @@ -0,0 +1,26 @@ +--- +title: SpringBoot 常见问题总结 +category: 框架 +tag: + - Spring +--- + +**Spring Boot** 相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你! \ No newline at end of file diff --git a/docs/system-design/schedule-task.md b/docs/system-design/schedule-task.md index 026bfa07..d3f9e8af 100644 --- a/docs/system-design/schedule-task.md +++ b/docs/system-design/schedule-task.md @@ -1,4 +1,4 @@ -# Java定时任务大揭秘 +# Java 定时任务详解 ## 为什么需要定时任务? diff --git a/docs/system-design/system-design-questions.md b/docs/system-design/system-design-questions.md index cdb4489c..0ee0b13e 100644 --- a/docs/system-design/system-design-questions.md +++ b/docs/system-design/system-design-questions.md @@ -3,8 +3,22 @@ title: 系统设计常见面试总结 category: Java面试指北 --- -系统设计相关的面试题为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 +**系统设计常见面试总结** 为我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)专属内容,已经整理到了[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)中。 -《Java 面试指北》的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7) 的部分内容展示如下,你可以将其看作是 [JavaGuide](https://javaguide.cn/#/) 的补充完善,两者可以配合使用。 ![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220304102536445.png) + +[《Java 面试指北》](https://www.yuque.com/docs/share/f37fc804-bfe6-4b0d-b373-9c462188fec7)只是星球内部众多资料中的一个,星球还有很多其他优质资料比如[专属专栏](https://javaguide.cn/zhuanlan/)、Java 编程视频、PDF 资料。 + +![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/xingqiu/image-20220211231206733.png) + +最近几年,市面上有越来越多的“技术大佬”开始办培训班/训练营,动辄成千上万的学费,却并没有什么干货,单纯的就是割韭菜。 + +我真的很痛心看到很多没有分辨能力的同学去参加这些培训班/训练营,他们大多都还没有收入,绝大部分都是贷款付的学费。 + +为了帮助更多同学准备 Java 面试以及学习 Java ,我创建了一个纯粹的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)。虽然收费只有培训班/训练营的百分之一,但是[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc)里的内容质量更高,提供的服务也更全面。 + +欢迎准备 Java 面试以及学习 Java 的同学加入我的[知识星球](https://www.yuque.com/docs/share/8a30ffb5-83f3-40f9-baf9-38de68b906dc),干货非常多!收费虽然是白菜价,但星球里的内容比你参加几万的培训班质量还要高。 + +我有自己的原则,不割韭菜,用心做内容,真心希望帮助到你!