mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-20 22:17:09 +08:00
docs: add linter
This commit is contained in:
parent
6bdc809e2f
commit
4df51f86e9
@ -14,6 +14,7 @@
|
|||||||
"style": "---"
|
"style": "---"
|
||||||
},
|
},
|
||||||
"MD040": false,
|
"MD040": false,
|
||||||
|
"MD045": false,
|
||||||
"MD046": false,
|
"MD046": false,
|
||||||
"MD049": false
|
"MD049": false
|
||||||
}
|
}
|
||||||
|
@ -127,5 +127,5 @@ Bob 大叔将自己对整洁代码的理解浓缩在了这本书中,真可谓
|
|||||||
|
|
||||||
最后再推荐两个相关的文档:
|
最后再推荐两个相关的文档:
|
||||||
|
|
||||||
- **阿里巴巴 Java 开发手册** :https://github.com/alibaba/p3c
|
- **阿里巴巴 Java 开发手册** :<https://github.com/alibaba/p3c>
|
||||||
- **Google Java 编程风格指南:** http://www.hawstein.com/posts/google-java-style.html
|
- **Google Java 编程风格指南**: <http://www.hawstein.com/posts/google-java-style.html>
|
||||||
|
@ -84,9 +84,9 @@ COMMIT;
|
|||||||
|
|
||||||
插入数据这里,我们没有使用 `insert into` 而是使用 `replace into` 来插入数据,具体步骤是这样的:
|
插入数据这里,我们没有使用 `insert into` 而是使用 `replace into` 来插入数据,具体步骤是这样的:
|
||||||
|
|
||||||
1)第一步: 尝试把数据插入到表中。
|
- 第一步: 尝试把数据插入到表中。
|
||||||
|
|
||||||
2)第二步: 如果主键或唯一索引字段出现重复数据错误而插入失败时,先从表中删除含有重复关键字值的冲突行,然后再次尝试把数据插入到表中。
|
- 第二步: 如果主键或唯一索引字段出现重复数据错误而插入失败时,先从表中删除含有重复关键字值的冲突行,然后再次尝试把数据插入到表中。
|
||||||
|
|
||||||
这种方式的优缺点也比较明显:
|
这种方式的优缺点也比较明显:
|
||||||
|
|
||||||
@ -127,7 +127,7 @@ CREATE TABLE `sequence_id_generator` (
|
|||||||
```sql
|
```sql
|
||||||
INSERT INTO `sequence_id_generator` (`id`, `current_max_id`, `step`, `version`, `biz_type`)
|
INSERT INTO `sequence_id_generator` (`id`, `current_max_id`, `step`, `version`, `biz_type`)
|
||||||
VALUES
|
VALUES
|
||||||
(1, 0, 100, 0, 101);
|
(1, 0, 100, 0, 101);
|
||||||
```
|
```
|
||||||
|
|
||||||
**3.通过 SELECT 获取指定业务下的批量唯一 ID**
|
**3.通过 SELECT 获取指定业务下的批量唯一 ID**
|
||||||
@ -139,8 +139,8 @@ SELECT `current_max_id`, `step`,`version` FROM `sequence_id_generator` where `bi
|
|||||||
结果:
|
结果:
|
||||||
|
|
||||||
```
|
```
|
||||||
id current_max_id step version biz_type
|
id current_max_id step version biz_type
|
||||||
1 0 100 0 101
|
1 0 100 0 101
|
||||||
```
|
```
|
||||||
|
|
||||||
**4.不够用的话,更新之后重新 SELECT 即可。**
|
**4.不够用的话,更新之后重新 SELECT 即可。**
|
||||||
@ -153,8 +153,8 @@ SELECT `current_max_id`, `step`,`version` FROM `sequence_id_generator` where `bi
|
|||||||
结果:
|
结果:
|
||||||
|
|
||||||
```
|
```
|
||||||
id current_max_id step version biz_type
|
id current_max_id step version biz_type
|
||||||
1 100 100 1 101
|
1 100 100 1 101
|
||||||
```
|
```
|
||||||
|
|
||||||
相比于数据库主键自增的方式,**数据库的号段模式对于数据库的访问次数更少,数据库压力更小。**
|
相比于数据库主键自增的方式,**数据库的号段模式对于数据库的访问次数更少,数据库压力更小。**
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
## 阐述 Servlet 和 CGI 的区别?
|
## 阐述 Servlet 和 CGI 的区别?
|
||||||
|
|
||||||
### CGI 的不足之处:
|
### CGI 的不足之处
|
||||||
|
|
||||||
1,需要为每个请求启动一个操作 CGI 程序的系统进程。如果请求频繁,这将会带来很大的开销。
|
1,需要为每个请求启动一个操作 CGI 程序的系统进程。如果请求频繁,这将会带来很大的开销。
|
||||||
|
|
||||||
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
3,需要重复编写处理网络协议的代码以及编码,这些工作都是非常耗时的。
|
3,需要重复编写处理网络协议的代码以及编码,这些工作都是非常耗时的。
|
||||||
|
|
||||||
### Servlet 的优点:
|
### Servlet 的优点
|
||||||
|
|
||||||
1,只需要启动一个操作系统进程以及加载一个 JVM,大大降低了系统的开销
|
1,只需要启动一个操作系统进程以及加载一个 JVM,大大降低了系统的开销
|
||||||
|
|
||||||
@ -48,8 +48,8 @@ get 和 post 请求实际上是没有区别,大家可以自行查询相关文
|
|||||||
|
|
||||||
推荐阅读:
|
推荐阅读:
|
||||||
|
|
||||||
- https://www.zhihu.com/question/28586791
|
- <https://www.zhihu.com/question/28586791>
|
||||||
- https://mp.weixin.qq.com/s?__biz=MzI3NzIzMzg3Mw==&mid=100000054&idx=1&sn=71f6c214f3833d9ca20b9f7dcd9d33e4#rd
|
- <https://mp.weixin.qq.com/s?__biz=MzI3NzIzMzg3Mw==&mid=100000054&idx=1&sn=71f6c214f3833d9ca20b9f7dcd9d33e4#rd>
|
||||||
|
|
||||||
## 什么情况下调用 doGet()和 doPost()
|
## 什么情况下调用 doGet()和 doPost()
|
||||||
|
|
||||||
@ -70,23 +70,23 @@ Form 标签里的 method 的属性为 get 时调用 doGet(),为 post 时调用
|
|||||||
|
|
||||||
1. **从地址栏显示来说**
|
1. **从地址栏显示来说**
|
||||||
|
|
||||||
forward 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
|
forward 是服务器请求资源,服务器直接访问目标地址的 URL,把那个 URL 的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
|
||||||
redirect 是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的 URL.
|
redirect 是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的 URL.
|
||||||
|
|
||||||
2. **从数据共享来说**
|
2. **从数据共享来说**
|
||||||
|
|
||||||
forward:转发页面和转发到的页面可以共享 request 里面的数据.
|
forward:转发页面和转发到的页面可以共享 request 里面的数据.
|
||||||
redirect:不能共享数据.
|
redirect:不能共享数据.
|
||||||
|
|
||||||
3. **从运用地方来说**
|
3. **从运用地方来说**
|
||||||
|
|
||||||
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
|
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
|
||||||
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等
|
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等
|
||||||
|
|
||||||
4. 从效率来说
|
4. 从效率来说
|
||||||
|
|
||||||
forward:高.
|
forward:高.
|
||||||
redirect:低.
|
redirect:低.
|
||||||
|
|
||||||
## 自动刷新(Refresh)
|
## 自动刷新(Refresh)
|
||||||
|
|
||||||
@ -125,7 +125,7 @@ JSP 是一种 Servlet,但是与 HttpServlet 的工作方式不太一样。Http
|
|||||||
|
|
||||||
## JSP 有哪些内置对象、作用分别是什么
|
## JSP 有哪些内置对象、作用分别是什么
|
||||||
|
|
||||||
[JSP 内置对象 - CSDN 博客 ](http://blog.csdn.net/qq_34337272/article/details/64310849)
|
[JSP 内置对象 - CSDN 博客](http://blog.csdn.net/qq_34337272/article/details/64310849)
|
||||||
|
|
||||||
JSP 有 9 个内置对象:
|
JSP 有 9 个内置对象:
|
||||||
|
|
||||||
|
@ -231,8 +231,8 @@ 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,8 +288,8 @@ 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/> 。
|
||||||
|
|
||||||
**优缺点总结:**
|
**优缺点总结:**
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
"docs:build": "vuepress build docs",
|
"docs:build": "vuepress build docs",
|
||||||
"docs:dev": "vuepress dev docs",
|
"docs:dev": "vuepress dev docs",
|
||||||
"docs:clean-dev": "vuepress dev docs --clean-cache",
|
"docs:clean-dev": "vuepress dev docs --clean-cache",
|
||||||
"lint": "prettier --check --write . && markdownlint **/*.md"
|
"lint": "prettier --check --write . && markdownlint docs/**/*.md"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vuepress/client": "2.0.0-beta.61",
|
"@vuepress/client": "2.0.0-beta.61",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user