1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

chore: fix typos

This commit is contained in:
Mr.Hope 2023-05-05 12:02:24 +08:00
parent 2316288bb0
commit 58d36f460a
38 changed files with 64 additions and 64 deletions

View File

@ -258,7 +258,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8 ](https://docs.oracle
### Git ### Git
- [Git 核心概念总结](./docs/tools/git/git-intro.md) - [Git 核心概念总结](./docs/tools/git/git-intro.md)
- [Github 实用小技巧总结](./docs/tools/git/github-tips.md) - [GitHub 实用小技巧总结](./docs/tools/git/github-tips.md)
## 系统设计 ## 系统设计

View File

@ -31,7 +31,7 @@ tag:
不知道其他公司的程序员是怎么样的?我感觉技术积累很大程度在乎平时,单纯依靠工作绝大部分情况只会加快自己做需求的熟练度,当然,写多了之后或多或少也会提升你对代码质量的认识(前提是你有这个意识)。 不知道其他公司的程序员是怎么样的?我感觉技术积累很大程度在乎平时,单纯依靠工作绝大部分情况只会加快自己做需求的熟练度,当然,写多了之后或多或少也会提升你对代码质量的认识(前提是你有这个意识)。
工作之余,我会利用业余时间来学习自己想学的东西。工作中的例子就是我刚进公司的第一个项目用到了 Spring Security+JWT ,因为当时自己对于这个技术不太了解,然后就在工作之外大概花了一周的时间学习写了一个 Demo 分享了出来,Github 地址:<https://github.com/Snailclimb/spring-security-jwt-guide> 。以次为契机,我还分享了 工作之余,我会利用业余时间来学习自己想学的东西。工作中的例子就是我刚进公司的第一个项目用到了 Spring Security+JWT ,因为当时自己对于这个技术不太了解,然后就在工作之外大概花了一周的时间学习写了一个 Demo 分享了出来,GitHub 地址:<https://github.com/Snailclimb/spring-security-jwt-guide> 。以次为契机,我还分享了
- [《一问带你区分清楚 Authentication,Authorization 以及 Cookie、Session、Token》](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485626&idx=1&sn=3247aa9000693dd692de8a04ccffeec1&chksm=cea24771f9d5ce675ea0203633a95b68bfe412dc6a9d05f22d221161147b76161d1b470d54b3&token=684071313&lang=zh_CN&scene=21#wechat_redirect) - [《一问带你区分清楚 Authentication,Authorization 以及 Cookie、Session、Token》](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485626&idx=1&sn=3247aa9000693dd692de8a04ccffeec1&chksm=cea24771f9d5ce675ea0203633a95b68bfe412dc6a9d05f22d221161147b76161d1b470d54b3&token=684071313&lang=zh_CN&scene=21#wechat_redirect)
- [JWT 身份认证优缺点分析以及常见问题解决方案](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485655&idx=1&sn=583eeeb081ea21a8ec6347c72aa223d6&chksm=cea2471cf9d5ce0aa135f2fb9aa32d98ebb3338292beaccc1aae43d1178b16c0125eb4139ca4&token=1737409938&lang=zh_CN#rd) - [JWT 身份认证优缺点分析以及常见问题解决方案](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247485655&idx=1&sn=583eeeb081ea21a8ec6347c72aa223d6&chksm=cea2471cf9d5ce0aa135f2fb9aa32d98ebb3338292beaccc1aae43d1178b16c0125eb4139ca4&token=1737409938&lang=zh_CN#rd)

View File

@ -5,7 +5,7 @@ tag:
- 个人经历 - 个人经历
--- ---
2021-03-21晚上 12 点,肝完了我正在做的一个项目的前端的某块功能,我随手打开了[我的 Github 主页](https://github.com/Snailclimb)。 2021-03-21晚上 12 点,肝完了我正在做的一个项目的前端的某块功能,我随手打开了[我的 GitHub 主页](https://github.com/Snailclimb)。
好家伙!几天没注意,[JavaGuide](https://github.com/Snailclimb/JavaGuide) 这个项目直接上了 100K star。 好家伙!几天没注意,[JavaGuide](https://github.com/Snailclimb/JavaGuide) 这个项目直接上了 100K star。

View File

@ -69,7 +69,7 @@ tag:
![网易的课程合作](https://oss.javaguide.cn/about-the-author/college-life/image-20230408115720135.png) ![网易的课程合作](https://oss.javaguide.cn/about-the-author/college-life/image-20230408115720135.png)
老粉应该大部分都是通过 JavaGuide 这个项目认识我的,这是我在大三开始准备秋招面试时创建的一个项目。没想到这个项目竟然火了一把,一度霸占了 Github 榜单。可能当时国内这类开源文档教程类项目太少了,所以这个项目受欢迎程度非常高。 老粉应该大部分都是通过 JavaGuide 这个项目认识我的,这是我在大三开始准备秋招面试时创建的一个项目。没想到这个项目竟然火了一把,一度霸占了 GitHub 榜单。可能当时国内这类开源文档教程类项目太少了,所以这个项目受欢迎程度非常高。
![JavaGuide Star 趋势](https://oss.javaguide.cn/about-the-author/college-life/image-20230408131849198.png) ![JavaGuide Star 趋势](https://oss.javaguide.cn/about-the-author/college-life/image-20230408131849198.png)

View File

@ -86,7 +86,7 @@ head:
除了理论知识之外,学习计算机网络非常重要的一点就是:“**动手实践**”。这点和我们编程差不多。 除了理论知识之外,学习计算机网络非常重要的一点就是:“**动手实践**”。这点和我们编程差不多。
Github 上就有一些名校的计算机网络试验/Project GitHub 上就有一些名校的计算机网络试验/Project
- [哈工大计算机网络实验](https://github.com/rccoder/HIT-Computer-Network) - [哈工大计算机网络实验](https://github.com/rccoder/HIT-Computer-Network)
- [《计算机网络-自顶向下方法(原书第 6 版)》编程作业Wireshark 实验文档的翻译和解答。](https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES) - [《计算机网络-自顶向下方法(原书第 6 版)》编程作业Wireshark 实验文档的翻译和解答。](https://github.com/moranzcw/Computer-Networking-A-Top-Down-Approach-NOTES)
@ -141,7 +141,7 @@ Github 上就有一些名校的计算机网络试验/Project
![](https://oss.javaguide.cn/github/javaguide/booksimage-20220409145411049.png) ![](https://oss.javaguide.cn/github/javaguide/booksimage-20220409145411049.png)
这是一本被 Github 上的爆火的计算机自学项目 [Teach Yourself Computer Science](https://link.zhihu.com/?target=https%3A//teachyourselfcs.com/) 强烈推荐的一本算法书籍。 这是一本被 GitHub 上的爆火的计算机自学项目 [Teach Yourself Computer Science](https://link.zhihu.com/?target=https%3A//teachyourselfcs.com/) 强烈推荐的一本算法书籍。
类似的神书还有 [《算法导论》](https://book.douban.com/subject/20432061/)、[《计算机程序设计艺术(第 1 卷)》](https://book.douban.com/subject/1130500/) 。 类似的神书还有 [《算法导论》](https://book.douban.com/subject/20432061/)、[《计算机程序设计艺术(第 1 卷)》](https://book.douban.com/subject/1130500/) 。

View File

@ -20,7 +20,7 @@ head:
![](https://oscimg.oschina.net/oscnet/up-11de8cb239aa7201cc8d78fa28928b9ec7d.png) ![](https://oscimg.oschina.net/oscnet/up-11de8cb239aa7201cc8d78fa28928b9ec7d.png)
Github 上也已经有大佬用 Java 实现过一个简易的数据库,介绍的挺详细的,感兴趣的朋友可以去看看。地址:[https://github.com/alchemystar/Freedom](https://github.com/alchemystar/Freedom) 。 GitHub 上也已经有大佬用 Java 实现过一个简易的数据库,介绍的挺详细的,感兴趣的朋友可以去看看。地址:[https://github.com/alchemystar/Freedom](https://github.com/alchemystar/Freedom) 。
除了这个用 Java 写的之外,**[db_tutorial](https://github.com/cstack/db_tutorial)** 这个项目是国外的一个大佬用 C 语言写的,朋友们也可以去瞅瞅。 除了这个用 Java 写的之外,**[db_tutorial](https://github.com/cstack/db_tutorial)** 这个项目是国外的一个大佬用 C 语言写的,朋友们也可以去瞅瞅。

View File

@ -122,12 +122,12 @@ _这本书还是非常适合我们用来学习 Java 多线程的。这本书的
非常重要!非常重要!特别是 Git 和 Docker。 非常重要!非常重要!特别是 Git 和 Docker。
- **IDEA** :熟悉基本操作以及常用快捷。你可以通过 Github 上的开源教程 [《IntelliJ IDEA 简体中文专题教程》](https://github.com/judasn/IntelliJ-IDEA-Tutorial) 来学习 IDEA 的使用。 - **IDEA** :熟悉基本操作以及常用快捷。你可以通过 GitHub 上的开源教程 [《IntelliJ IDEA 简体中文专题教程》](https://github.com/judasn/IntelliJ-IDEA-Tutorial) 来学习 IDEA 的使用。
- **Maven** :强烈建议学习常用框架之前可以提前花几天时间学习一下**Maven**的使用。(到处找 Jar 包,下载 Jar 包是真的麻烦费事,使用 Maven 可以为你省很多事情)。 - **Maven** :强烈建议学习常用框架之前可以提前花几天时间学习一下**Maven**的使用。(到处找 Jar 包,下载 Jar 包是真的麻烦费事,使用 Maven 可以为你省很多事情)。
- **Git** :基本的 Git 技能也是必备的,试着在学习的过程中将自己的代码托管在 Github 上。你可以看看这篇 Github 上开源的 [《Git 极简入门》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Git) 。 - **Git** :基本的 Git 技能也是必备的,试着在学习的过程中将自己的代码托管在 GitHub 上。你可以看看这篇 GitHub 上开源的 [《Git 极简入门》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Git) 。
- **Docker** :学着用 Docker 安装学习中需要用到的软件比如 MySQL ,这样方便很多,可以为你节省不少时间。你可以看看这篇 Github 上开源的 [《Docker 基本概念解读》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Docker) 、[《一文搞懂 Docker 镜像的常用操作!》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Docker-Image) - **Docker** :学着用 Docker 安装学习中需要用到的软件比如 MySQL ,这样方便很多,可以为你节省不少时间。你可以看看这篇 GitHub 上开源的 [《Docker 基本概念解读》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Docker) 、[《一文搞懂 Docker 镜像的常用操作!》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Docker-Image)
除了这些工具之外,我强烈建议你一定要搞懂 Github 的使用。一些使用 Github 的小技巧,你可以看[《Github 小技巧》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Github%E6%8A%80%E5%B7%A7)这篇文章。 除了这些工具之外,我强烈建议你一定要搞懂 GitHub 的使用。一些使用 GitHub 的小技巧,你可以看[《GitHub 小技巧》](https://snailclimb.gitee.io/javaguide/#/docs/tools/Github%E6%8A%80%E5%B7%A7)这篇文章。
## 常用框架 ## 常用框架

View File

@ -9,11 +9,11 @@ category: 计算机书籍
开源的目的是为了大家能一起完善,如果你觉得内容有任何需要完善/补充的地方,欢迎大家在项目 [issues 区](https://github.com/CodingDocs/awesome-cs/issues) 推荐自己认可的技术书籍,让我们共同维护一个优质的技术书籍精选集! 开源的目的是为了大家能一起完善,如果你觉得内容有任何需要完善/补充的地方,欢迎大家在项目 [issues 区](https://github.com/CodingDocs/awesome-cs/issues) 推荐自己认可的技术书籍,让我们共同维护一个优质的技术书籍精选集!
- Github 地址:[https://github.com/CodingDocs/awesome-cs](https://github.com/CodingDocs/awesome-cs) - GitHub 地址:[https://github.com/CodingDocs/awesome-cs](https://github.com/CodingDocs/awesome-cs)
- Gitee 地址:[https://gitee.com/SnailClimb/awesome-cs](https://gitee.com/SnailClimb/awesome-cs) - Gitee 地址:[https://gitee.com/SnailClimb/awesome-cs](https://gitee.com/SnailClimb/awesome-cs)
如果内容对你有帮助的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份书单感谢 如果内容对你有帮助的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份书单感谢
本项目推荐的大部分书籍的 PDF 版本我已经整理到了云盘里,你可以在公众号“**Github 掘金计划**” 后台回复“**书籍**”获取到。 本项目推荐的大部分书籍的 PDF 版本我已经整理到了云盘里,你可以在公众号“**GitHub 掘金计划**” 后台回复“**书籍**”获取到。
![](https://oss.javaguide.cn/github/javaguide/booksimage-20220409153638398.png) ![](https://oss.javaguide.cn/github/javaguide/booksimage-20220409153638398.png)

View File

@ -353,7 +353,7 @@ COMMIT;
> >
> 翻译过来的意思是:原子性,隔离性和持久性是数据库的属性,而一致性(在 ACID 意义上)是应用程序的属性。应用可能依赖数据库的原子性和隔离属性来实现一致性,但这并不仅取决于数据库。因此,字母 C 不属于 ACID 。 > 翻译过来的意思是:原子性,隔离性和持久性是数据库的属性,而一致性(在 ACID 意义上)是应用程序的属性。应用可能依赖数据库的原子性和隔离属性来实现一致性,但这并不仅取决于数据库。因此,字母 C 不属于 ACID 。
《Designing Data-Intensive Application数据密集型应用系统设计》这本书强推一波值得读很多遍豆瓣有接近 90% 的人看了这本书之后给了五星好评。另外,中文翻译版本已经在 Github 开源,地址:[https://github.com/Vonng/ddia](https://github.com/Vonng/ddia) 。 《Designing Data-Intensive Application数据密集型应用系统设计》这本书强推一波值得读很多遍豆瓣有接近 90% 的人看了这本书之后给了五星好评。另外,中文翻译版本已经在 GitHub 开源,地址:[https://github.com/Vonng/ddia](https://github.com/Vonng/ddia) 。
![](https://oss.javaguide.cn/github/javaguide/books/ddia.png) ![](https://oss.javaguide.cn/github/javaguide/books/ddia.png)

View File

@ -52,7 +52,7 @@ Memcached 是分布式缓存最开始兴起的那会,比较常用的。后来
关于 Redis 和 Tendis 的对比,腾讯官方曾经发过一篇文章:[Redis vs Tendis冷热混合存储版架构揭秘](https://mp.weixin.qq.com/s/MeYkfOIdnU6LYlsGb24KjQ) ,可以简单参考一下。 关于 Redis 和 Tendis 的对比,腾讯官方曾经发过一篇文章:[Redis vs Tendis冷热混合存储版架构揭秘](https://mp.weixin.qq.com/s/MeYkfOIdnU6LYlsGb24KjQ) ,可以简单参考一下。
从这个项目的 Github 提交记录可以看出Tendis 开源版几乎已经没有被维护更新了,加上其关注度并不高,使用的公司也比较少。因此,不建议你使用 Tendis 来实现分布式缓存。 从这个项目的 GitHub 提交记录可以看出Tendis 开源版几乎已经没有被维护更新了,加上其关注度并不高,使用的公司也比较少。因此,不建议你使用 Tendis 来实现分布式缓存。
### 说一下 Redis 和 Memcached 的区别和共同点 ### 说一下 Redis 和 Memcached 的区别和共同点

View File

@ -74,7 +74,7 @@ Zuul 主要通过过滤器(类似于 AOP来过滤请求从而实现网
![Zuul2 架构](https://oscimg.oschina.net/oscnet/up-4f9047dc9109e27f9fced1b365e2b976e9d.png) ![Zuul2 架构](https://oscimg.oschina.net/oscnet/up-4f9047dc9109e27f9fced1b365e2b976e9d.png)
- Github 地址 <https://github.com/Netflix/zuul> - GitHub 地址 <https://github.com/Netflix/zuul>
- 官方 Wiki <https://github.com/Netflix/zuul/wiki> - 官方 Wiki <https://github.com/Netflix/zuul/wiki>
### Spring Cloud Gateway ### Spring Cloud Gateway
@ -89,7 +89,7 @@ Spring Cloud Gateway 不仅提供统一的路由方式,并且基于 Filter 链
Spring Cloud Gateway 和 Zuul 2.x 的差别不大,也是通过过滤器来处理请求。不过,目前更加推荐使用 Spring Cloud Gateway 而非 ZuulSpring Cloud 生态对其支持更加友好。 Spring Cloud Gateway 和 Zuul 2.x 的差别不大,也是通过过滤器来处理请求。不过,目前更加推荐使用 Spring Cloud Gateway 而非 ZuulSpring Cloud 生态对其支持更加友好。
- Github 地址 <https://github.com/spring-cloud/spring-cloud-gateway> - GitHub 地址 <https://github.com/spring-cloud/spring-cloud-gateway>
- 官网 <https://spring.io/projects/spring-cloud-gateway> - 官网 <https://spring.io/projects/spring-cloud-gateway>
### Kong ### Kong
@ -117,7 +117,7 @@ $ curl -X POST http://kong:8001/services/{service}/plugins \
![](https://oss.javaguide.cn/github/javaguide/system-design/distributed-system/api-gateway/kong-gateway-overview.png) ![](https://oss.javaguide.cn/github/javaguide/system-design/distributed-system/api-gateway/kong-gateway-overview.png)
- Github 地址: <https://github.com/Kong/kong> - GitHub 地址: <https://github.com/Kong/kong>
- 官网地址 <https://konghq.com/kong> - 官网地址 <https://konghq.com/kong>
### APISIX ### APISIX
@ -143,7 +143,7 @@ APISIX 同样支持定制化的插件开发。开发者除了能够使用 Lua
![](https://oscimg.oschina.net/oscnet/up-a240d3b113cde647f5850f4c7cc55d4ff5c.png) ![](https://oscimg.oschina.net/oscnet/up-a240d3b113cde647f5850f4c7cc55d4ff5c.png)
- Github 地址 <https://github.com/apache/apisix> - GitHub 地址 <https://github.com/apache/apisix>
- 官网地址: <https://apisix.apache.org/zh/> - 官网地址: <https://apisix.apache.org/zh/>
相关阅读: 相关阅读:
@ -161,7 +161,7 @@ Shenyu 是一款基于 WebFlux 的可扩展、高性能、响应式网关Apac
Shenyu 通过插件扩展功能,插件是 ShenYu 的灵魂并且插件也是可扩展和热插拔的。不同的插件实现不同的功能。Shenyu 自带了诸如限流、熔断、转发 、重写、重定向、和路由监控等插件。 Shenyu 通过插件扩展功能,插件是 ShenYu 的灵魂并且插件也是可扩展和热插拔的。不同的插件实现不同的功能。Shenyu 自带了诸如限流、熔断、转发 、重写、重定向、和路由监控等插件。
- Github 地址: <https://github.com/apache/incubator-shenyu> - GitHub 地址: <https://github.com/apache/incubator-shenyu>
- 官网地址 <https://shenyu.apache.org/> - 官网地址 <https://shenyu.apache.org/>
## 参考 ## 参考

View File

@ -66,7 +66,7 @@ Dubbo 是由阿里开源,后来加入了 Apache 。正是由于 Dubbo 的出
Dubbo 算的是比较优秀的国产开源项目了,它的源码也是非常值得学习和阅读的! Dubbo 算的是比较优秀的国产开源项目了,它的源码也是非常值得学习和阅读的!
- Github [https://github.com/apache/incubator-dubbo](https://github.com/apache/incubator-dubbo "https://github.com/apache/incubator-dubbo") - GitHub [https://github.com/apache/incubator-dubbo](https://github.com/apache/incubator-dubbo "https://github.com/apache/incubator-dubbo")
- 官网https://dubbo.apache.org/zh/ - 官网https://dubbo.apache.org/zh/
### Motan ### Motan
@ -94,7 +94,7 @@ gRPC 是 Google 开源的一个高性能、通用的开源 RPC 框架。其由
不过gRPC 的设计导致其几乎没有服务治理能力。如果你想要解决这个问题的话,就需要依赖其他组件比如腾讯的 PolarisMesh北极星了。 不过gRPC 的设计导致其几乎没有服务治理能力。如果你想要解决这个问题的话,就需要依赖其他组件比如腾讯的 PolarisMesh北极星了。
- Github[https://github.com/grpc/grpc](https://github.com/grpc/grpc "https://github.com/grpc/grpc") - GitHub[https://github.com/grpc/grpc](https://github.com/grpc/grpc "https://github.com/grpc/grpc")
- 官网:[https://grpc.io/](https://grpc.io/ "https://grpc.io/") - 官网:[https://grpc.io/](https://grpc.io/ "https://grpc.io/")
### Thrift ### Thrift

View File

@ -17,7 +17,7 @@ Spring Cloud Gateway 不仅提供统一的路由方式,并且基于 Filter 链
Spring Cloud Gateway 和 Zuul 2.x 的差别不大,也是通过过滤器来处理请求。不过,目前更加推荐使用 Spring Cloud Gateway 而非 ZuulSpring Cloud 生态对其支持更加友好。 Spring Cloud Gateway 和 Zuul 2.x 的差别不大,也是通过过滤器来处理请求。不过,目前更加推荐使用 Spring Cloud Gateway 而非 ZuulSpring Cloud 生态对其支持更加友好。
- Github 地址 <https://github.com/spring-cloud/spring-cloud-gateway> - GitHub 地址 <https://github.com/spring-cloud/spring-cloud-gateway>
- 官网 <https://spring.io/projects/spring-cloud-gateway> - 官网 <https://spring.io/projects/spring-cloud-gateway>
## Spring Cloud Gateway 的工作流程? ## Spring Cloud Gateway 的工作流程?

View File

@ -11,7 +11,7 @@ category: 高可用
实际上,日常生活中就有非常多的冗余思想的应用。 实际上,日常生活中就有非常多的冗余思想的应用。
拿我自己来说,我对于重要文件的保存方法就是冗余思想的应用。我日常所使用的重要文件都会同步一份在 Github 以及个人云盘上,这样就可以保证即使电脑硬盘损坏,我也可以通过 Github 或者个人云盘找回自己的重要文件。 拿我自己来说,我对于重要文件的保存方法就是冗余思想的应用。我日常所使用的重要文件都会同步一份在 GitHub 以及个人云盘上,这样就可以保证即使电脑硬盘损坏,我也可以通过 GitHub 或者个人云盘找回自己的重要文件。
高可用集群High Availability Cluster简称 HA Cluster、同城灾备、异地灾备、同城多活和异地多活是冗余思想在高可用系统设计中最典型的应用。 高可用集群High Availability Cluster简称 HA Cluster、同城灾备、异地灾备、同城多活和异地多活是冗余思想在高可用系统设计中最典型的应用。

View File

@ -17,7 +17,7 @@ Disruptor 是一个相对冷门一些的知识点,不过,如果你的项目
Disruptor 是一个开源的高性能内存队列,诞生初衷是为了解决内存队列的性能和内存安全问题,由英国外汇交易公司 LMAX 开发。 Disruptor 是一个开源的高性能内存队列,诞生初衷是为了解决内存队列的性能和内存安全问题,由英国外汇交易公司 LMAX 开发。
根据 Disruptor 官方介绍,基于 Disruptor 开发的系统 LMAX新的零售金融交易平台单线程就能支撑每秒 600 万订单。Martin Fowler 在 2011年写的一篇文章 [The LMAX Architecture](https://martinfowler.com/articles/lmax.html) 中专门介绍过这个 LMAX 系统的架构,感兴趣的可以看看这篇文章。。 根据 Disruptor 官方介绍,基于 Disruptor 开发的系统 LMAX新的零售金融交易平台单线程就能支撑每秒 600 万订单。Martin Fowler 在 2011 年写的一篇文章 [The LMAX Architecture](https://martinfowler.com/articles/lmax.html) 中专门介绍过这个 LMAX 系统的架构,感兴趣的可以看看这篇文章。。
LMAX 公司 2010 年在 QCon 演讲后Disruptor 获得了业界关注,并获得了 2011 年的 Oracle 官方的 Duke's Choice Awards(Duke 选择大奖)。 LMAX 公司 2010 年在 QCon 演讲后Disruptor 获得了业界关注,并获得了 2011 年的 Oracle 官方的 Duke's Choice Awards(Duke 选择大奖)。
@ -31,7 +31,7 @@ LMAX 公司 2010 年在 QCon 演讲后Disruptor 获得了业界关注,并
Disruptor 提供的功能优点类似于 Kafka、RocketMQ 这类分布式队列,不过,其作为范围是 JVM(内存)。 Disruptor 提供的功能优点类似于 Kafka、RocketMQ 这类分布式队列,不过,其作为范围是 JVM(内存)。
- Github 地址:<https://github.com/LMAX-Exchange/disruptor> - GitHub 地址:<https://github.com/LMAX-Exchange/disruptor>
- 官方教程: <https://lmax-exchange.github.io/disruptor/user-guide/index.html> - 官方教程: <https://lmax-exchange.github.io/disruptor/user-guide/index.html>
关于如何在 Spring Boot 项目中使用 Disruptor可以看这篇文章[Spring Boot + Disruptor 实战入门](https://mp.weixin.qq.com/s/0iG5brK3bYF0BgSjX4jRiA) 。 关于如何在 Spring Boot 项目中使用 Disruptor可以看这篇文章[Spring Boot + Disruptor 实战入门](https://mp.weixin.qq.com/s/0iG5brK3bYF0BgSjX4jRiA) 。
@ -91,7 +91,7 @@ Disruptor 真的很快,关于它为什么这么快这个问题,会在后文
- **ProducerType** :指定是单个事件发布者模式还是多个事件发布者模式(发布者和生产者的意思类似,我个人比较喜欢用发布者)。 - **ProducerType** :指定是单个事件发布者模式还是多个事件发布者模式(发布者和生产者的意思类似,我个人比较喜欢用发布者)。
- **Sequencer** Sequencer 是 Disruptor 的真正核心。此接口有两个实现类 `SingleProducerSequencer``MultiProducerSequencer` ,它们定义在生产者和消费者之间快速、正确地传递数据的并发算法。 - **Sequencer** Sequencer 是 Disruptor 的真正核心。此接口有两个实现类 `SingleProducerSequencer``MultiProducerSequencer` ,它们定义在生产者和消费者之间快速、正确地传递数据的并发算法。
下面这张图摘自Disruptor 官网,展示了 LMAX 系统使用 Disruptor 的示例。 下面这张图摘自 Disruptor 官网,展示了 LMAX 系统使用 Disruptor 的示例。
![LMAX 系统使用 Disruptor 的示例](https://oss.javaguide.cn/github/javaguide/high-performance/message-queue/disruptor-models.png) ![LMAX 系统使用 Disruptor 的示例](https://oss.javaguide.cn/github/javaguide/high-performance/message-queue/disruptor-models.png)
@ -126,7 +126,7 @@ Disruptor 真的很快,关于它为什么这么快这个问题,会在后文
CPU 缓存是通过将最近使用的数据存储在高速缓存中来实现更快的读取速度,并使用预取机制提前加载相邻内存的数据以利用局部性原理。 CPU 缓存是通过将最近使用的数据存储在高速缓存中来实现更快的读取速度,并使用预取机制提前加载相邻内存的数据以利用局部性原理。
在计算机系统中CPU 主要访问高速缓存和内存。高速缓存是一种速度非常快、容量相对较小的内存通常被分为多级缓存其中L1、L2、L3 分别表示一级缓存、二级缓存、三级缓存。越靠近 CPU 的缓存,速度越快,容量也越小。相比之下,内存容量相对较大,但速度较慢。 在计算机系统中CPU 主要访问高速缓存和内存。高速缓存是一种速度非常快、容量相对较小的内存,通常被分为多级缓存,其中 L1、L2、L3 分别表示一级缓存、二级缓存、三级缓存。越靠近 CPU 的缓存,速度越快,容量也越小。相比之下,内存容量相对较大,但速度较慢。
![CPU 缓存模型示意图](https://oss.javaguide.cn/github/javaguide/java/concurrent/cpu-cache.png) ![CPU 缓存模型示意图](https://oss.javaguide.cn/github/javaguide/java/concurrent/cpu-cache.png)
@ -135,4 +135,4 @@ CPU 缓存是通过将最近使用的数据存储在高速缓存中来实现更
## 参考 ## 参考
- Disruptor 高性能之道-等待策略:<http://wuwenliang.net/2022/02/28/Disruptor高性能之道-等待策略/> - Disruptor 高性能之道-等待策略:<http://wuwenliang.net/2022/02/28/Disruptor高性能之道-等待策略/>
- 《Java 并发编程实战》- 40 | 案例分析高性能队列Disruptorhttps://time.geekbang.org/column/article/98134 - 《Java 并发编程实战》- 40 | 案例分析(三):高性能队列 Disruptorhttps://time.geekbang.org/column/article/98134

View File

@ -113,6 +113,6 @@ tag:
大体上的套路便是如此:你说你杀过猪。那么你杀过几头猪,分别是啥时候,杀过多大的猪,有啥毛色。事实上对方可能给你的回答是:杀过、十几头、杀过五十斤的、杀过绿色、黄色、红色、蓝色的猪。那么问题就来了。 大体上的套路便是如此:你说你杀过猪。那么你杀过几头猪,分别是啥时候,杀过多大的猪,有啥毛色。事实上对方可能给你的回答是:杀过、十几头、杀过五十斤的、杀过绿色、黄色、红色、蓝色的猪。那么问题就来了。
然而笔者碰到的问题是:使用 Git 两年却不知道 Github、使用 Redis 一年却不知道数据结构也不知道序列化、专业做爬虫却不懂 `content-type` 含义、使用搜索引擎技术却说不出两个分词插件、使用数据库读写分离却不知道同步延时等等。 然而笔者碰到的问题是:使用 Git 两年却不知道 GitHub、使用 Redis 一年却不知道数据结构也不知道序列化、专业做爬虫却不懂 `content-type` 含义、使用搜索引擎技术却说不出两个分词插件、使用数据库读写分离却不知道同步延时等等。
写在最后,笔者认为在招聘途中,并不是不允许求职者包装,但是尽可能满足能筹平衡。虽然这篇文章没有完美的结尾,但是笔者提供了面试失败的各种经验。笔者最终招到了如意的小伙伴。也希望所有技术面试官早日找到符合自己产品发展的 IT 伙伴。 写在最后,笔者认为在招聘途中,并不是不允许求职者包装,但是尽可能满足能筹平衡。虽然这篇文章没有完美的结尾,但是笔者提供了面试失败的各种经验。笔者最终招到了如意的小伙伴。也希望所有技术面试官早日找到符合自己产品发展的 IT 伙伴。

View File

@ -118,7 +118,7 @@ tag:
这里就涉及到版权问题,先要说明,作者不能抱有任何幻想,如果出了版权问题,书没出版还好,如果已经出版了,作者不仅要赔钱,而且在业内就会有不好的名声,可谓身败名裂。但其实要避免版权问题一点也不难。 这里就涉及到版权问题,先要说明,作者不能抱有任何幻想,如果出了版权问题,书没出版还好,如果已经出版了,作者不仅要赔钱,而且在业内就会有不好的名声,可谓身败名裂。但其实要避免版权问题一点也不难。
- 不能抄袭网上现有的内容,哪怕一句也不行。对此,作者可以在理解人家语句含义的基础上改写。不能抄袭人家书上现有的目录,更不能抄袭人家书上的话,同样一句也不行,对应的解决方法同样是在理解的基础上改写。 - 不能抄袭网上现有的内容,哪怕一句也不行。对此,作者可以在理解人家语句含义的基础上改写。不能抄袭人家书上现有的目录,更不能抄袭人家书上的话,同样一句也不行,对应的解决方法同样是在理解的基础上改写。
- 不能抄袭 Github 上或者任何地方别人的代码,哪怕这个代码是开源的。对此,你可以在理解对方代码的基础上,先运行通,然后一定得自己新建一个项目,在你的项目里参考别人的代码实现你的功能,在这个过程中不能有大段的复制粘贴操作。也就是说,你的代码和别人的代码,在注释,变量命名,类名和方法名上不能有雷同的地方,当然你还可以额外加上你自己的功能。 - 不能抄袭 GitHub 上或者任何地方别人的代码,哪怕这个代码是开源的。对此,你可以在理解对方代码的基础上,先运行通,然后一定得自己新建一个项目,在你的项目里参考别人的代码实现你的功能,在这个过程中不能有大段的复制粘贴操作。也就是说,你的代码和别人的代码,在注释,变量命名,类名和方法名上不能有雷同的地方,当然你还可以额外加上你自己的功能。
- 至于在写技术和案例介绍时,你就可以用你自己的话来说,这样也不会出现版权问题。 - 至于在写技术和案例介绍时,你就可以用你自己的话来说,这样也不会出现版权问题。
用了上述办法以后,作者就可以在参考现有资料的基础上,充分加上属于你的功能,写上你独到的理解,从而高效地出版属于你自己的书。 用了上述办法以后,作者就可以在参考现有资料的基础上,充分加上属于你的功能,写上你独到的理解,从而高效地出版属于你自己的书。

View File

@ -14,7 +14,7 @@ tag:
在面试或联系副业的时候,如果能令人信服地证明自己的实力,那么很有可能事半功倍。如何证明自己的实力?最有信服力的是大公司职位背景背书,没有之一,比如在 BAT 担任资深架构,那么其它话甚至都不用讲了。 在面试或联系副业的时候,如果能令人信服地证明自己的实力,那么很有可能事半功倍。如何证明自己的实力?最有信服力的是大公司职位背景背书,没有之一,比如在 BAT 担任资深架构,那么其它话甚至都不用讲了。
不过不是每个人入职后马上就是大公司架构师在上进的路上还可以通过公众号专栏博文Github 代码量和出书出视频等方式来证明自己。和其它方式相比,属于自己的技术图书由于经过了国家级出版社的加持,相对更能让别人认可自己的实力,而对于一些小公司而言,一本属于自己的书甚至可以说是免面试的通行证。所以在本文里,就将和广大程序员朋友聊聊出版技术书的那些事。 不过不是每个人入职后马上就是大公司架构师在上进的路上还可以通过公众号专栏博文GitHub 代码量和出书出视频等方式来证明自己。和其它方式相比,属于自己的技术图书由于经过了国家级出版社的加持,相对更能让别人认可自己的实力,而对于一些小公司而言,一本属于自己的书甚至可以说是免面试的通行证。所以在本文里,就将和广大程序员朋友聊聊出版技术书的那些事。
## 1.不是有能力了再出书,而是在出书过程中升能力 ## 1.不是有能力了再出书,而是在出书过程中升能力

View File

@ -249,7 +249,7 @@ JVM 这部分内容主要参考 [JVM 虚拟机规范-Java8](https://docs.oracle.
### Git ### Git
- [Git 核心概念总结](./tools/git/git-intro.md) - [Git 核心概念总结](./tools/git/git-intro.md)
- [Github 实用小技巧总结](./tools/git/github-tips.md) - [GitHub 实用小技巧总结](./tools/git/github-tips.md)
## 系统设计 ## 系统设计

View File

@ -36,7 +36,7 @@ icon: project
### 实战类开源项目 ### 实战类开源项目
Github 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。 GitHub 或者码云上面有很多实战类别项目,你可以选择一个来研究,为了让自己对这个项目更加理解,在理解原有代码的基础上,你可以对原有项目进行改进或者增加功能。
你可以参考 [Java 优质开源实战项目](https://javaguide.cn/open-source-project/practical-project.html "Java 优质开源实战项目") 上面推荐的实战类开源项目,质量都很高,项目类型也比较全面,涵盖博客/论坛系统、考试/刷题系统、商城系统、权限管理系统、快速开发脚手架以及各种轮子。 你可以参考 [Java 优质开源实战项目](https://javaguide.cn/open-source-project/practical-project.html "Java 优质开源实战项目") 上面推荐的实战类开源项目,质量都很高,项目类型也比较全面,涵盖博客/论坛系统、考试/刷题系统、商城系统、权限管理系统、快速开发脚手架以及各种轮子。

View File

@ -58,7 +58,7 @@ icon: jianli
### 个人信息 ### 个人信息
- 最基本的 :姓名(身份证上的那个)、年龄、电话、籍贯、联系方式、邮箱地址 - 最基本的 :姓名(身份证上的那个)、年龄、电话、籍贯、联系方式、邮箱地址
- 潜在加分项 Github 地址、博客地址(如果技术博客和 Github 上没有什么内容的话,就不要写了) - 潜在加分项 GitHub 地址、博客地址(如果技术博客和 GitHub 上没有什么内容的话,就不要写了)
示例: 示例:
@ -233,7 +233,7 @@ FAB 法则由下面 3 个单词组成FAB 法则的名字就是由它们的首
- 尽量避免主观表述,少一点语义模糊的形容词。表述要简洁明了,简历结构要清晰。 - 尽量避免主观表述,少一点语义模糊的形容词。表述要简洁明了,简历结构要清晰。
- 精简表述,突出亮点。校招简历建议不要超过 2 页,社招简历建议不要超过 3 页。如果内容过多的话,不需要非把内容压缩到一页,保持排版干净整洁就可以了。 - 精简表述,突出亮点。校招简历建议不要超过 2 页,社招简历建议不要超过 3 页。如果内容过多的话,不需要非把内容压缩到一页,保持排版干净整洁就可以了。
- 不会的东西就不要写在简历上了。注意简历真实性,适当润色没有问题。 - 不会的东西就不要写在简历上了。注意简历真实性,适当润色没有问题。
- 技术博客、Github 以及获奖经历等可以直接证明自己能力的东西,能写就尽量写在这里。不过,如果技术博客和 Github 上没有什么内容的话,就不要写了。 - 技术博客、GitHub 以及获奖经历等可以直接证明自己能力的东西,能写就尽量写在这里。不过,如果技术博客和 GitHub 上没有什么内容的话,就不要写了。
- 技术名词最好规范大小写比较好,比如 java->Java spring boot -> Spring Boot 。这个虽然有些面试官不会介意,但是很多面试官都会在意这个细节的。 - 技术名词最好规范大小写比较好,比如 java->Java spring boot -> Spring Boot 。这个虽然有些面试官不会介意,但是很多面试官都会在意这个细节的。
- 工作经历建议采用时间倒序的方式来介绍,实习经历建议将最有价值的放在最前面。 - 工作经历建议采用时间倒序的方式来介绍,实习经历建议将最有价值的放在最前面。
- 将自己的项目经历完美的展示出来非常重要,重点是突出自己做了什么(挖掘亮点),而不是介绍项目是做什么的。 - 将自己的项目经历完美的展示出来非常重要,重点是突出自己做了什么(挖掘亮点),而不是介绍项目是做什么的。

View File

@ -82,7 +82,7 @@ icon: path
![](https://oss.javaguide.cn/github/javaguide/interview-preparation/format,png.png) ![](https://oss.javaguide.cn/github/javaguide/interview-preparation/format,png.png)
技术博客、Github 以及在校获奖经历的话,能写就尽量写在这里。 你可以参考下面 👇 的模板进行修改: 技术博客、GitHub 以及在校获奖经历的话,能写就尽量写在这里。 你可以参考下面 👇 的模板进行修改:
![](https://oss.javaguide.cn/github/javaguide/interview-preparation/format,png-20230309224235808.png) ![](https://oss.javaguide.cn/github/javaguide/interview-preparation/format,png-20230309224235808.png)
@ -204,11 +204,11 @@ icon: path
**社招:** **社招:**
> 面试官,您好!我叫独秀儿。我目前有 1 年半的工作经验,熟练使用 Spring、MyBatis 等框架、了解 Java 底层原理比如 JVM 调优并且有着丰富的分布式开发经验。离开上一家公司是因为我想在技术上得到更多的锻炼。在上一个公司我参与了一个分布式电子交易系统的开发,负责搭建了整个项目的基础架构并且通过分库分表解决了原始数据库以及一些相关表过于庞大的问题,目前这个网站最高支持 10 万人同时访问。工作之余,我利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了 Netty 进行网络通信, 目前我已经将这个项目开源,在 Github 上收获了 2k 的 Star! 说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。 生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事! > 面试官,您好!我叫独秀儿。我目前有 1 年半的工作经验,熟练使用 Spring、MyBatis 等框架、了解 Java 底层原理比如 JVM 调优并且有着丰富的分布式开发经验。离开上一家公司是因为我想在技术上得到更多的锻炼。在上一个公司我参与了一个分布式电子交易系统的开发,负责搭建了整个项目的基础架构并且通过分库分表解决了原始数据库以及一些相关表过于庞大的问题,目前这个网站最高支持 10 万人同时访问。工作之余,我利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了 Netty 进行网络通信, 目前我已经将这个项目开源,在 GitHub 上收获了 2k 的 Star! 说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。 生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事!
**校招:** **校招:**
> 面试官,您好!我叫秀儿。大学时间我主要利用课外时间学习了 Java 以及 Spring、MyBatis 等框架 。在校期间参与过一个考试系统的开发,这个系统的主要用了 Spring、MyBatis 和 shiro 这三种框架。我在其中主要担任后端开发,主要负责了权限管理功能模块的搭建。另外,我在大学的时候参加过一次软件编程大赛,我和我的团队做的在线订餐系统成功获得了第二名的成绩。我还利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了 Netty 进行网络通信, 目前我已经将这个项目开源,在 Github 上收获了 2k 的 Star! 说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。 生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事! > 面试官,您好!我叫秀儿。大学时间我主要利用课外时间学习了 Java 以及 Spring、MyBatis 等框架 。在校期间参与过一个考试系统的开发,这个系统的主要用了 Spring、MyBatis 和 shiro 这三种框架。我在其中主要担任后端开发,主要负责了权限管理功能模块的搭建。另外,我在大学的时候参加过一次软件编程大赛,我和我的团队做的在线订餐系统成功获得了第二名的成绩。我还利用自己的业余时间写了一个简单的 RPC 框架,这个框架用到了 Netty 进行网络通信, 目前我已经将这个项目开源,在 GitHub 上收获了 2k 的 Star! 说到业余爱好的话,我比较喜欢通过博客整理分享自己所学知识,现在已经是多个博客平台的认证作者。 生活中我是一个比较积极乐观的人,一般会通过运动打球的方式来放松。我一直都非常想加入贵公司,我觉得贵公司的文化和技术氛围我都非常喜欢,期待能与你共事!
## 减少抱怨 ## 减少抱怨

View File

@ -170,7 +170,7 @@ public class KryoSerializer implements Serializer {
} }
``` ```
Github 地址:[https://github.com/EsotericSoftware/kryo](https://github.com/EsotericSoftware/kryo) 。 GitHub 地址:[https://github.com/EsotericSoftware/kryo](https://github.com/EsotericSoftware/kryo) 。
### Protobuf ### Protobuf
@ -192,7 +192,7 @@ message Person {
} }
``` ```
Github 地址:[https://github.com/protocolbuffers/protobuf](https://github.com/protocolbuffers/protobuf)。 GitHub 地址:[https://github.com/protocolbuffers/protobuf](https://github.com/protocolbuffers/protobuf)。
### ProtoStuff ### ProtoStuff
@ -200,7 +200,7 @@ Github 地址:[https://github.com/protocolbuffers/protobuf](https://github.com
protostuff 基于 Google protobuf但是提供了更多的功能和更简易的用法。虽然更加易用但是不代表 ProtoStuff 性能更差。 protostuff 基于 Google protobuf但是提供了更多的功能和更简易的用法。虽然更加易用但是不代表 ProtoStuff 性能更差。
Github 地址:[https://github.com/protostuff/protostuff](https://github.com/protostuff/protostuff)。 GitHub 地址:[https://github.com/protostuff/protostuff](https://github.com/protostuff/protostuff)。
### Hessian ### Hessian

View File

@ -244,7 +244,7 @@ JDK1.7 之前字符串常量池存放在永久代。JDK1.7 字符串常量池
相关问题:[JVM 常量池中存储的是对象还是引用呢? - RednaxelaFX - 知乎](https://www.zhihu.com/question/57109429/answer/151717241) 相关问题:[JVM 常量池中存储的是对象还是引用呢? - RednaxelaFX - 知乎](https://www.zhihu.com/question/57109429/answer/151717241)
最后再来分享一段周志明老师在[《深入理解 Java 虚拟机(第 3 版)》样例代码&勘误](https://github.com/fenixsoft/jvm_book) Github 仓库的 [issue#112](https://github.com/fenixsoft/jvm_book/issues/112) 中说过的话: 最后再来分享一段周志明老师在[《深入理解 Java 虚拟机(第 3 版)》样例代码&勘误](https://github.com/fenixsoft/jvm_book) GitHub 仓库的 [issue#112](https://github.com/fenixsoft/jvm_book/issues/112) 中说过的话:
> **运行时常量池、方法区、字符串常量池这些都是不随虚拟机实现而改变的逻辑概念是公共且抽象的Metaspace、Heap 是与具体某种虚拟机实现相关的物理概念,是私有且具体的。** > **运行时常量池、方法区、字符串常量池这些都是不随虚拟机实现而改变的逻辑概念是公共且抽象的Metaspace、Heap 是与具体某种虚拟机实现相关的物理概念,是私有且具体的。**

View File

@ -1,6 +1,6 @@
# 《Java8 指南》中文翻译 # 《Java8 指南》中文翻译
随着 Java 8 的普及度越来越高,很多人都提到面试中关于 Java 8 也是非常常问的知识点。应各位要求和需要,我打算对这部分知识做一个总结。本来准备自己总结的,后面看到 Github 上有一个相关的仓库,地址: 随着 Java 8 的普及度越来越高,很多人都提到面试中关于 Java 8 也是非常常问的知识点。应各位要求和需要,我打算对这部分知识做一个总结。本来准备自己总结的,后面看到 GitHub 上有一个相关的仓库,地址:
[https://github.com/winterbe/java8-tutorial](https://github.com/winterbe/java8-tutorial)。这个仓库是英文的,我对其进行了翻译并添加和修改了部分内容,下面是正文。 [https://github.com/winterbe/java8-tutorial](https://github.com/winterbe/java8-tutorial)。这个仓库是英文的,我对其进行了翻译并添加和修改了部分内容,下面是正文。
--- ---

View File

@ -14,7 +14,7 @@ icon: guide
一定一定一定要注意 **排版规范** 一定一定一定要注意 **排版规范**
- [中文文案排版指北 - Github](https://github.com/sparanoid/chinese-copywriting-guidelines) - [中文文案排版指北 - GitHub](https://github.com/sparanoid/chinese-copywriting-guidelines)
- [写给大家看的中文排版指南 - 知乎](https://zhuanlan.zhihu.com/p/20506092) - [写给大家看的中文排版指南 - 知乎](https://zhuanlan.zhihu.com/p/20506092)
- [中文文案排版细则 - Dawner](https://dawner.top/posts/chinese-copywriting-rules/) - [中文文案排版细则 - Dawner](https://dawner.top/posts/chinese-copywriting-rules/)
- [中文技术文档写作风格指南](https://github.com/yikeke/zh-style-guide/) - [中文技术文档写作风格指南](https://github.com/yikeke/zh-style-guide/)

View File

@ -18,7 +18,7 @@ icon: help
## 如何看待 JavaGuide 的 star 数量很多? ## 如何看待 JavaGuide 的 star 数量很多?
[JavaGuide](https://github.com/Snailclimb) 目前已经是 Java 领域 star 数量最多的几个项目之一,登顶过很多次 Github Trending。 [JavaGuide](https://github.com/Snailclimb) 目前已经是 Java 领域 star 数量最多的几个项目之一,登顶过很多次 GitHub Trending。
不过这个真心没啥好嘚瑟的。因为教程类的含金量其实是比较低的star 数量比较多主要也是因为受众面比较广,大家觉得不错,点个 star 就相当于收藏了。很多特别优秀的框架star 数量可能只有几 K。所以单纯看 star 数量没啥意思,就当看个笑话吧! 不过这个真心没啥好嘚瑟的。因为教程类的含金量其实是比较低的star 数量比较多主要也是因为受众面比较广,大家觉得不错,点个 star 就相当于收藏了。很多特别优秀的框架star 数量可能只有几 K。所以单纯看 star 数量没啥意思,就当看个笑话吧!

View File

@ -34,7 +34,7 @@ JavaGuide 整体目录规划已经非常清晰了,你可以从头开始学习
## 项目说明 ## 项目说明
- [在线阅读网站](https://javaguide.cn)基于 Vuepress 搭建,使用的是主题是 [vuepress-theme-hope](https://github.com/vuepress-theme-hope/vuepress-theme-hope)(很 Nice 的一个主题)。 - [在线阅读网站](https://javaguide.cn)基于 Vuepress 搭建,使用的是主题是 [vuepress-theme-hope](https://github.com/vuepress-theme-hope/vuepress-theme-hope)(很 Nice 的一个主题)。
- 项目的 Markdown 格式参考:[Github Markdown 格式](https://guides.github.com/features/mastering-markdown/),表情素材来自:[EMOJI CHEAT SHEET](https://www.webpagefx.com/tools/emoji-cheat-sheet/)。 - 项目的 Markdown 格式参考:[GitHub Markdown 格式](https://guides.github.com/features/mastering-markdown/),表情素材来自:[EMOJI CHEAT SHEET](https://www.webpagefx.com/tools/emoji-cheat-sheet/)。
- Logo 下的小图标是使用[Shields.IO](https://shields.io/) 生成的。 - Logo 下的小图标是使用[Shields.IO](https://shields.io/) 生成的。
## 贡献者 ## 贡献者

View File

@ -5,11 +5,11 @@ category: 开源项目
<!-- @include: @small-advertisement.snippet.md --> <!-- @include: @small-advertisement.snippet.md -->
精选 Github 和 Gitee 上优质的 Java 开源项目。 精选 GitHub 和 Gitee 上优质的 Java 开源项目。
欢迎大家在项目 [issues 区](https://github.com/CodingDocs/awesome-java/issues)推荐自己认可的 Java 开源项目,让我们共同维护一个优质的 Java 开源项目精选集! 欢迎大家在项目 [issues 区](https://github.com/CodingDocs/awesome-java/issues)推荐自己认可的 Java 开源项目,让我们共同维护一个优质的 Java 开源项目精选集!
- Github 地址:[https://github.com/CodingDocs/awesome-java](https://github.com/CodingDocs/awesome-java) - GitHub 地址:[https://github.com/CodingDocs/awesome-java](https://github.com/CodingDocs/awesome-java)
- Gitee 地址:[https://gitee.com/SnailClimb/awesome-java](https://gitee.com/SnailClimb/awesome-java) - Gitee 地址:[https://gitee.com/SnailClimb/awesome-java](https://gitee.com/SnailClimb/awesome-java)
如果内容对你有帮助的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份名单感谢 如果内容对你有帮助的话,欢迎给本项目点个 Star。我会用我的业余时间持续完善这份名单感谢

View File

@ -46,7 +46,7 @@ icon: "xitongsheji"
- [WxJava](https://github.com/Wechat-Group/WxJava) : WxJava (微信开发 Java SDK支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的后端开发。 - [WxJava](https://github.com/Wechat-Group/WxJava) : WxJava (微信开发 Java SDK支持包括微信支付、开放平台、小程序、企业微信/企业号和公众号等的后端开发。
- [Sa-Token](https://github.com/dromara/sa-token) :轻量级 Java 权限认证框架。支持认证授权、单点登录、踢人下线、自动续签等功能。 - [Sa-Token](https://github.com/dromara/sa-token) :轻量级 Java 权限认证框架。支持认证授权、单点登录、踢人下线、自动续签等功能。
- [JustAuth](https://github.com/justauth/JustAuth) 小而全而美的第三方登录开源组件。目前已经集成了诸如Github、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow 等国内外数十家第三方平台。 - [JustAuth](https://github.com/justauth/JustAuth) 小而全而美的第三方登录开源组件。目前已经集成了诸如GitHub、Gitee、支付宝、新浪微博、微信、Google、Facebook、Twitter、StackOverflow 等国内外数十家第三方平台。
## 网络通讯 ## 网络通讯

View File

@ -33,7 +33,7 @@ icon: "book"
- **[spring-boot-demo](https://github.com/xkcoding/spring-boot-demo "spring-boot-demo")** spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 63 个集成 demo已经完成 52 个。 - **[spring-boot-demo](https://github.com/xkcoding/spring-boot-demo "spring-boot-demo")** spring boot demo 是一个用来深度学习并实战 spring boot 的项目,目前总共包含 63 个集成 demo已经完成 52 个。
- **[SpringBoot-Labs](https://github.com/YunaiV/SpringBoot-Labs)** Spring Boot 系列教程。 - **[SpringBoot-Labs](https://github.com/YunaiV/SpringBoot-Labs)** Spring Boot 系列教程。
相关文章:[Github 点赞接近 100k 的 SpringBoot 学习教程+实战推荐!牛批!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247488298&idx=3&sn=0a8fd88ec5a050de131c2a3305482ac4&chksm=cea25ce1f9d5d5f7f53a0237d27489326bce4546353b038085c03b086d91ef396bf824d3a155&token=496868067&lang=zh_CN#rd) 相关文章:[GitHub 点赞接近 100k 的 SpringBoot 学习教程+实战推荐!牛批!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247488298&idx=3&sn=0a8fd88ec5a050de131c2a3305482ac4&chksm=cea25ce1f9d5d5f7f53a0237d27489326bce4546353b038085c03b086d91ef396bf824d3a155&token=496868067&lang=zh_CN#rd)
### SpringCloud ### SpringCloud
@ -41,7 +41,7 @@ icon: "book"
- **[springcloud-learning](https://github.com/macrozheng/springcloud-learning)** : 一套涵盖大部分核心组件使用的 Spring Cloud 教程。 - **[springcloud-learning](https://github.com/macrozheng/springcloud-learning)** : 一套涵盖大部分核心组件使用的 Spring Cloud 教程。
- **[SpringCloud](https://github.com/zhoutaoo/SpringCloud "SpringCloud")** :基于 SpringCloud2.1 的微服务开发脚手架,整合了 spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway 等。 - **[SpringCloud](https://github.com/zhoutaoo/SpringCloud "SpringCloud")** :基于 SpringCloud2.1 的微服务开发脚手架,整合了 spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway 等。
相关文章:[Github 点赞接近 70k 的 Spring Cloud 学习教程+实战项目推荐!牛批!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247488377&idx=1&sn=0fb33ef330159db5a9c8bc0f029cd739&chksm=cea25cb2f9d5d5a4c7bacc9dcfc90ed86e89f4262e32b40c7aa47af84c747cb6c0429f753e1d&token=496868067&lang=zh_CN#rd) 相关文章:[GitHub 点赞接近 70k 的 Spring Cloud 学习教程+实战项目推荐!牛批!](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247488377&idx=1&sn=0fb33ef330159db5a9c8bc0f029cd739&chksm=cea25cb2f9d5d5a4c7bacc9dcfc90ed86e89f4262e32b40c7aa47af84c747cb6c0429f753e1d&token=496868067&lang=zh_CN#rd)
### Nginx ### Nginx

View File

@ -14,7 +14,7 @@ tag:
最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多,我看了文章内容之后属实觉得质量有点低,并且有点会误导没有太多实际使用经验的人(这些人又占据了大多数)。所以,自己索性花了大概 两天时间简单总结一下了。 最近看到网上有一篇关于 SpringBoot 常用注解的文章被转载的比较多,我看了文章内容之后属实觉得质量有点低,并且有点会误导没有太多实际使用经验的人(这些人又占据了大多数)。所以,自己索性花了大概 两天时间简单总结一下了。
**因为我个人的能力和精力有限如果有任何不对或者需要完善的地方请帮忙指出Guide感激不尽** **因为我个人的能力和精力有限如果有任何不对或者需要完善的地方请帮忙指出Guide 感激不尽!**
### 1. `@SpringBootApplication` ### 1. `@SpringBootApplication`
@ -955,6 +955,6 @@ public abstract class TestBase {
} }
``` ```
_暂时总结到这里吧虽然花了挺长时间才写完不过可能还是会一些常用的注解的被漏掉所以我将文章也同步到了 Github 上去Github 地址: 欢迎完善_ _暂时总结到这里吧虽然花了挺长时间才写完不过可能还是会一些常用的注解的被漏掉所以我将文章也同步到了 GitHub 上去GitHub 地址: 欢迎完善_
本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide[https://github.com/Snailclimb/JavaGuide](https://github.com/Snailclimb/JavaGuide)。 本文已经收录进我的 75K Star 的 Java 开源项目 JavaGuide[https://github.com/Snailclimb/JavaGuide](https://github.com/Snailclimb/JavaGuide)。

View File

@ -30,7 +30,7 @@ Spring 翻译过来就是春天的意思,可见其目标和使命就是为 Jav
Spring 提供的核心功能主要是 IoC 和 AOP。学习 Spring ,一定要把 IoC 和 AOP 的核心思想搞懂! Spring 提供的核心功能主要是 IoC 和 AOP。学习 Spring ,一定要把 IoC 和 AOP 的核心思想搞懂!
- Spring 官网:<https://spring.io/> - Spring 官网:<https://spring.io/>
- Github 地址: https://github.com/spring-projects/spring-framework - GitHub 地址: https://github.com/spring-projects/spring-framework
### Spring 包含的模块有哪些? ### Spring 包含的模块有哪些?

View File

@ -74,7 +74,7 @@ public class OrdersService {
> >
> 翻译过来的意思是:原子性,隔离性和持久性是数据库的属性,而一致性(在 ACID 意义上)是应用程序的属性。应用可能依赖数据库的原子性和隔离属性来实现一致性,但这并不仅取决于数据库。因此,字母 C 不属于 ACID 。 > 翻译过来的意思是:原子性,隔离性和持久性是数据库的属性,而一致性(在 ACID 意义上)是应用程序的属性。应用可能依赖数据库的原子性和隔离属性来实现一致性,但这并不仅取决于数据库。因此,字母 C 不属于 ACID 。
《Designing Data-Intensive Application数据密集型应用系统设计》这本书强推一波值得读很多遍豆瓣有接近 90% 的人看了这本书之后给了五星好评。另外,中文翻译版本已经在 Github 开源,地址:[https://github.com/Vonng/ddiaopen in new window](https://github.com/Vonng/ddia) 。 《Designing Data-Intensive Application数据密集型应用系统设计》这本书强推一波值得读很多遍豆瓣有接近 90% 的人看了这本书之后给了五星好评。另外,中文翻译版本已经在 GitHub 开源,地址:[https://github.com/Vonng/ddiaopen in new window](https://github.com/Vonng/ddia) 。
## 详谈 Spring 对事务的支持 ## 详谈 Spring 对事务的支持

View File

@ -231,7 +231,7 @@ public class TestJob implements SimpleJob {
**相关地址:** **相关地址:**
- Github 地址:<https://github.com/apache/shardingsphere-elasticjob> - GitHub 地址:<https://github.com/apache/shardingsphere-elasticjob>
- 官方网站:<https://shardingsphere.apache.org/elasticjob/index_zh.html> - 官方网站:<https://shardingsphere.apache.org/elasticjob/index_zh.html>
**优缺点总结:** **优缺点总结:**
@ -288,7 +288,7 @@ public ReturnT<String> myAnnotationJobHandler(String param) throws Exception {
**相关地址:** **相关地址:**
- Github 地址:<https://github.com/xuxueli/xxl-job/> - GitHub 地址:<https://github.com/xuxueli/xxl-job/>
- 官方介绍:<https://www.xuxueli.com/xxl-job/> - 官方介绍:<https://www.xuxueli.com/xxl-job/>
**优缺点总结:** **优缺点总结:**

View File

@ -133,7 +133,7 @@ Git 有三种状态,你的文件可能处于其中之一:
### 推送改动到远程仓库 ### 推送改动到远程仓库
- 如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:`git remote add origin <server>` ,比如我们要让本地的一个仓库和 Github 上创建的一个仓库关联可以这样`git remote add origin https://github.com/Snailclimb/test.git` - 如果你还没有克隆现有仓库,并欲将你的仓库连接到某个远程服务器,你可以使用如下命令添加:`git remote add origin <server>` ,比如我们要让本地的一个仓库和 GitHub 上创建的一个仓库关联可以这样`git remote add origin https://github.com/Snailclimb/test.git`
- 将这些改动提交到远端仓库:`git push origin master` (可以把 _master_ 换成你想要推送的任何分支) - 将这些改动提交到远端仓库:`git push origin master` (可以把 _master_ 换成你想要推送的任何分支)
如此你就能够将你的改动推送到所添加的服务器上去了。 如此你就能够将你的改动推送到所添加的服务器上去了。

View File

@ -15,7 +15,7 @@ category: 知识星球
通过这个简易的轮子,你可以学到 RPC 的底层原理和原理以及各种 Java 编码实践的运用。你甚至可以把它当做你的毕设/项目经验的选择,这是非常不错!对比其他求职者的项目经验都是各种系统,造轮子肯定是更加能赢得面试官的青睐。 通过这个简易的轮子,你可以学到 RPC 的底层原理和原理以及各种 Java 编码实践的运用。你甚至可以把它当做你的毕设/项目经验的选择,这是非常不错!对比其他求职者的项目经验都是各种系统,造轮子肯定是更加能赢得面试官的青睐。
- Github 地址:[https://github.com/Snailclimb/guide-rpc-framework](https://github.com/Snailclimb/guide-rpc-framework) 。 - GitHub 地址:[https://github.com/Snailclimb/guide-rpc-framework](https://github.com/Snailclimb/guide-rpc-framework) 。
- Gitee 地址:[https://gitee.com/SnailClimb/guide-rpc-framework](https://gitee.com/SnailClimb/guide-rpc-framework) 。 - Gitee 地址:[https://gitee.com/SnailClimb/guide-rpc-framework](https://gitee.com/SnailClimb/guide-rpc-framework) 。
## 星球其他资源 ## 星球其他资源

2
sw.js
View File

@ -26,7 +26,7 @@ const getFixedUrl = (req) => {
url.protocol = self.location.protocol url.protocol = self.location.protocol
// 2. add query for caching-busting. // 2. add query for caching-busting.
// Github Pages served with Cache-Control: max-age=600 // GitHub Pages served with Cache-Control: max-age=600
// max-age on mutable content is error-prone, with SW life of bugs can even extend. // max-age on mutable content is error-prone, with SW life of bugs can even extend.
// Until cache mode of Fetch API landed, we have to workaround cache-busting with query string. // Until cache mode of Fetch API landed, we have to workaround cache-busting with query string.
// Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190 // Cache-Control-Bug: https://bugs.chromium.org/p/chromium/issues/detail?id=453190