diff --git a/docs/system-design/framework/mybatis/mybatis-interview.md b/docs/system-design/framework/mybatis/mybatis-interview.md index f4532e46..dc55430c 100644 --- a/docs/system-design/framework/mybatis/mybatis-interview.md +++ b/docs/system-design/framework/mybatis/mybatis-interview.md @@ -48,23 +48,23 @@ Mybatis 版本 3.3.0,亲测如下: */ public interface StuMapper { - List getAllStu(); + List getAllStu(); - List getAllStu(@Param("id") Integer id); + List getAllStu(@Param("id") Integer id); } ``` 然后在 `StuMapper.xml` 中利用 Mybatis 的动态 sql 就可以实现。 -```java - +```xml + ``` 能正常运行,并能得到相应的结果,这样就实现了在 Dao 接口中写重载方法。 @@ -160,7 +160,7 @@ public V get(Object key) { 举例: `select _ from student` ,拦截 sql 后重写为: `select t._ from (select \* from student)t limit 0,10` -### 简述 MyBatis 的插件运行原理,以及如何编写一个插件。 +### 简述 MyBatis 的插件运行原理,以及如何编写一个插件 注:我出的。 @@ -200,7 +200,7 @@ MyBatis 提供了 9 种动态 sql 标签: 有了列名与属性名的映射关系后,MyBatis 通过反射创建对象,同时使用反射给对象的属性逐一赋值并返回,那些找不到映射关系的属性,是无法完成赋值的。 -### MyBatis 能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别。 +### MyBatis 能执行一对一、一对多的关联查询吗?都有哪些实现方式,以及它们之间的区别 注:我出的。 diff --git a/docs/system-design/web-real-time-message-push.md b/docs/system-design/web-real-time-message-push.md index 3fba8c0b..14a871da 100644 --- a/docs/system-design/web-real-time-message-push.md +++ b/docs/system-design/web-real-time-message-push.md @@ -11,7 +11,7 @@ head: content: 消息推送通常是指网站的运营工作等人员,通过某种工具对用户当前网页或移动设备 APP 进行的主动消息推送。 --- -> 原文地址:https://juejin.cn/post/7122014462181113887,JavaGuide 对本文进行了完善总结。 +> 原文地址: 对本文进行了完善总结。 我有一个朋友做了一个小破站,现在要实现一个站内信 Web 消息推送的功能,对,就是下图这个小红点,一个很常用的功能。 diff --git a/docs/tools/docker/docker-intro.md b/docs/tools/docker/docker-intro.md index 8112467d..1884e28d 100644 --- a/docs/tools/docker/docker-intro.md +++ b/docs/tools/docker/docker-intro.md @@ -196,7 +196,7 @@ mysql/mysql-server Optimized MySQL Server Docker images. Create ```bash docker version # 查看docker版本 docker images # 查看所有已下载镜像,等价于:docker image ls 命令 -docker container ls # 查看所有容器 +docker container ls # 查看所有容器 docker ps #查看正在运行的容器 docker image prune # 清理临时的、没有被使用的镜像文件。-a, --all: 删除所有没有用的镜像,而不仅仅是临时文件; ``` @@ -213,7 +213,7 @@ docker image ls # 查看所有已下载镜像 比如我们要删除我们下载的 mysql 镜像。 -通过 `docker rmi [image]` (等价于`docker image rm [image]`)删除镜像之前首先要确保这个镜像没有被容器引用(可以通过标签名称或者镜像 ID 删除)。通过我们前面讲的` docker ps`命令即可查看。 +通过 `docker rmi [image]` (等价于`docker image rm [image]`)删除镜像之前首先要确保这个镜像没有被容器引用(可以通过标签名称或者镜像 ID 删除)。通过我们前面讲的`docker ps`命令即可查看。 ```shell ➜ ~ docker ps @@ -273,11 +273,11 @@ LXC 技术主要是借助 Linux 内核中提供的 CGroup 功能和 namespace - **namespace 是 Linux 内核用来隔离内核资源的方式。** 通过 namespace 可以让一些进程只能看到与自己相关的一部分资源,而另外一些进程也只能看到与它们自己相关的资源,这两拨进程根本就感觉不到对方的存在。具体的实现方式是把一个或多个进程的相关资源指定在同一个 namespace 中。Linux namespaces 是对全局系统资源的一种封装隔离,使得处于不同 namespace 的进程拥有独立的全局系统资源,改变一个 namespace 中的系统资源只会影响当前 namespace 里的进程,对其他 namespace 中的进程没有影响。 - (以上关于 namespace 介绍内容来自https://www.cnblogs.com/sparkdev/p/9365405.html ,更多关于 namespace 的呢内容可以查看这篇文章 )。 + (以上关于 namespace 介绍内容来自 ,更多关于 namespace 的呢内容可以查看这篇文章 )。 - **CGroup 是 Control Groups 的缩写,是 Linux 内核提供的一种可以限制、记录、隔离进程组 (process groups) 所使用的物力资源 (如 cpu memory i/o 等等) 的机制。** - (以上关于 CGroup 介绍内容来自 https://www.ibm.com/developerworks/cn/linux/1506_cgroup/index.html ,更多关于 CGroup 的内容可以查看这篇文章 )。 + (以上关于 CGroup 介绍内容来自 ,更多关于 CGroup 的内容可以查看这篇文章 )。 **cgroup 和 namespace 两者对比:** diff --git a/docs/tools/git/git-intro.md b/docs/tools/git/git-intro.md index 37237880..abd21843 100644 --- a/docs/tools/git/git-intro.md +++ b/docs/tools/git/git-intro.md @@ -121,11 +121,13 @@ Git 有三种状态,你的文件可能处于其中之一: 一个好的 Git 提交消息如下: - 标题行:用这一行来描述和解释你的这次提交 +``` +标题行:用这一行来描述和解释你的这次提交 - 主体部分可以是很少的几行,来加入更多的细节来解释提交,最好是能给出一些相关的背景或者解释这个提交能修复和解决什么问题。 +主体部分可以是很少的几行,来加入更多的细节来解释提交,最好是能给出一些相关的背景或者解释这个提交能修复和解决什么问题。 - 主体部分当然也可以有几段,但是一定要注意换行和句子不要太长。因为这样在使用 "git log" 的时候会有缩进比较好看。 +主体部分当然也可以有几段,但是一定要注意换行和句子不要太长。因为这样在使用 "git log" 的时候会有缩进比较好看。 +``` 提交的标题行描述应该尽量的清晰和尽量的一句话概括。这样就方便相关的 Git 日志查看工具显示和其他人的阅读。 @@ -234,11 +236,11 @@ git push origin **在线演示学习工具:** -「补充,来自[issue729](https://github.com/Snailclimb/JavaGuide/issues/729)」Learn Git Branching https://oschina.gitee.io/learn-git-branching/ 。该网站可以方便的演示基本的 git 操作,讲解得明明白白。每一个基本命令的作用和结果。 +「补充,来自[issue729](https://github.com/Snailclimb/JavaGuide/issues/729)」Learn Git Branching 。该网站可以方便的演示基本的 git 操作,讲解得明明白白。每一个基本命令的作用和结果。 **推荐阅读:** -- [Git 入门图文教程(1.5W 字 40 图) ](https://www.cnblogs.com/anding/p/16987769.html):超用心的一篇文章,内容全面且附带详细的图解,强烈推荐! +- [Git 入门图文教程(1.5W 字 40 图)](https://www.cnblogs.com/anding/p/16987769.html):超用心的一篇文章,内容全面且附带详细的图解,强烈推荐! - [Git - 简明指南](https://rogerdudler.github.io/git-guide/index.zh.html):涵盖 Git 常见操作,非常清晰。 - [图解 Git](https://marklodato.github.io/visual-git-guide/index-zh-cn.html):图解 Git 中的最常用命令。如果你稍微理解 git 的工作原理,这篇文章能够让你理解的更透彻。 - [猴子都能懂得 Git 入门](https://backlog.com/git-tutorial/cn/intro/intro1_1.html) :有趣的讲解。 diff --git a/docs/tools/git/github-tips.md b/docs/tools/git/github-tips.md index 4de1dace..e4db4d09 100644 --- a/docs/tools/git/github-tips.md +++ b/docs/tools/git/github-tips.md @@ -17,7 +17,7 @@ tag: ![Github简历](https://oss.javaguide.cn/2020-11/image-20201108192205620.png) -通过 https://www.githubtrends.io/wrapped 这个网站,你可以生成一份 Github 个人年报,这个年报会列举出你在这一年的项目贡献情况、最常使用的编程语言、详细的贡献信息。 +通过 这个网站,你可以生成一份 Github 个人年报,这个年报会列举出你在这一年的项目贡献情况、最常使用的编程语言、详细的贡献信息。 ![](https://oss.javaguide.cn/github/dootask/image-20211226144607457.png) @@ -59,13 +59,13 @@ Github 目前支持在个人主页自定义展示一些内容。展示效果如 ![](https://oss.javaguide.cn/github/dootask/repobeats.png) -地址:https://repobeats.axiom.co/ 。 +地址: 。 ## Github 表情 ![Github表情](https://oss.javaguide.cn/2020-11/image-20201107162254582.png) -如果你想要在 Github 使用表情的话,可以在这里找找 :[www.webfx.com/tools/emoji-cheat-sheet/ ](www.webfx.com/tools/emoji-cheat-sheet/)。 +如果你想要在 Github 使用表情的话,可以在这里找找 :[www.webfx.com/tools/emoji-cheat-sheet/](https://www.webfx.com/tools/emoji-cheat-sheet/)。 ![在线Github表情](https://oss.javaguide.cn/2020-11/image-20201107162432941.png) diff --git a/docs/tools/gradle/gradle-core-concepts.md b/docs/tools/gradle/gradle-core-concepts.md index 7955d371..ab8747cf 100644 --- a/docs/tools/gradle/gradle-core-concepts.md +++ b/docs/tools/gradle/gradle-core-concepts.md @@ -129,7 +129,7 @@ zipStorePath=wrapper/dists 下面的命令会将 Gradle 版本升级为 7.6。 ```shell -$ gradlew wrapper --gradle-version 7.6 +gradlew wrapper --gradle-version 7.6 ``` `gradle-wrapper.properties` 文件中的 `distributionUrl` 属性也发生了改变。 @@ -200,26 +200,26 @@ Task 声明依赖的关键字是`dependsOn`,支持声明一个或多个依赖 ```groovy task first { - doLast { + doLast { println "+++++first+++++" } } task second { - doLast { + doLast { println "+++++second+++++" } } // 指定多个 task 依赖 task print(dependsOn :[second,first]) { - doLast { + doLast { logger.quiet "指定多个task依赖" } } // 指定一个 task 依赖 task third(dependsOn : print) { - doLast { + doLast { println '+++++third+++++' } } @@ -296,9 +296,9 @@ Gradle 支持单项目和多项目构建。在初始化阶段,Gradle 确定哪 ## 参考 -- Gradle 官方文档:https://docs.gradle.org/current/userguide/userguide.html -- Gradle 入门教程:https://www.imooc.com/wiki/gradlebase -- Groovy 快速入门看这篇就够了:https://cloud.tencent.com/developer/article/1358357 -- 【Gradle】Gradle 的生命周期详解:https://juejin.cn/post/7067719629874921508 -- 手把手带你自定义 Gradle 插件 —— Gradle 系列(2):https://www.cnblogs.com/pengxurui/p/16281537.html -- Gradle 爬坑指南 -- 理解 Plugin、Task、构建流程:https://juejin.cn/post/6889090530593112077 +- Gradle 官方文档: +- Gradle 入门教程: +- Groovy 快速入门看这篇就够了: +- 【Gradle】Gradle 的生命周期详解: +- 手把手带你自定义 Gradle 插件 —— Gradle 系列(2): +- Gradle 爬坑指南 -- 理解 Plugin、Task、构建流程: diff --git a/docs/tools/maven/maven-core-concepts.md b/docs/tools/maven/maven-core-concepts.md index f809d9e2..98072a89 100644 --- a/docs/tools/maven/maven-core-concepts.md +++ b/docs/tools/maven/maven-core-concepts.md @@ -52,7 +52,7 @@ head: ``` -你可以在 https://mvnrepository.com/ 这个网站上找到几乎所有可用的构件,如果你的项目使用的是 Maven 作为构建工具,那这个网站你一定会经常接触。 +你可以在 这个网站上找到几乎所有可用的构件,如果你的项目使用的是 Maven 作为构建工具,那这个网站你一定会经常接触。 ![Maven 仓库](https://oss.javaguide.cn/github/javaguide/tools/maven/mvnrepository.com.png) @@ -386,7 +386,7 @@ Maven 能够基于 `pom.xml` 所包含的信息,自动生成一个友好的站 ## Maven 插件 -Maven 本质上是一个插件执行框架,所有的执行过程,都是由一个一个插件独立完成的。像咱们日常使用到的 install、clean、deploy 等命令,其实底层都是一个一个的 Maven 插件。关于 Maven 的核心插件可以参考官方的这篇文档:https://maven.apache.org/plugins/index.html 。 +Maven 本质上是一个插件执行框架,所有的执行过程,都是由一个一个插件独立完成的。像咱们日常使用到的 install、clean、deploy 等命令,其实底层都是一个一个的 Maven 插件。关于 Maven 的核心插件可以参考官方的这篇文档: 。 本地默认插件路径: `${user.home}/.m2/repository/org/apache/maven/plugins` @@ -455,8 +455,8 @@ Maven 插件被分为下面两种类型: ## 参考 - 《Maven 实战》 -- Introduction to Repositories - Maven 官方文档:https://maven.apache.org/guides/introduction/introduction-to-repositories.html -- Introduction to the Build Lifecycle - Maven 官方文档:https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference -- Maven 依赖范围:http://www.mvnbook.com/maven-dependency.html -- 解决 maven 依赖冲突,这篇就够了!:https://www.cnblogs.com/qdhxhz/p/16363532.html -- Multi-Module Project with Maven:https://www.baeldung.com/maven-multi-module +- Introduction to Repositories - Maven 官方文档: +- Introduction to the Build Lifecycle - Maven 官方文档: +- Maven 依赖范围: +- 解决 maven 依赖冲突,这篇就够了!: +- Multi-Module Project with Maven: