mirror of
https://github.com/Snailclimb/JavaGuide
synced 2025-06-16 18:10:13 +08:00
[docs feat]升级同步vuepress-theme-hope主题2.0.0-beta.236版本
This commit is contained in:
parent
43e1fd4f52
commit
4f894993ea
@ -68,9 +68,15 @@ star: 2
|
|||||||
|
|
||||||

|

|
||||||
|
|
||||||

|
并且,每个月都会整理出当月优质的主题,方便大家阅读学习,避免错过优质的内容。毫不夸张,单纯这些优质主题就足够门票价值了。
|
||||||
|
|
||||||
加入星球之后,记得抽时间把星球精华主题看看,相信你一定会有所收货!
|

|
||||||
|
|
||||||
|
加入星球之后,一定要记得抽时间把星球精华主题看看,相信你一定会有所收货!
|
||||||
|
|
||||||
|
JavaGuide 知识星球优质主题汇总传送门:<https://www.yuque.com/snailclimb/rpkqw1/ncxpnfmlng08wlf1>(为了避免这里成为知识杂货铺,我会对严格筛选入选的优质主题)。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
### 简历修改
|
### 简历修改
|
||||||
|
|
||||||
@ -133,11 +139,7 @@ star: 2
|
|||||||
|
|
||||||
## 如何加入?
|
## 如何加入?
|
||||||
|
|
||||||
三年前,星球的定价是 **50/年** (星球规定的最低定价),我还附送了 33 元优惠券。扣除了星球手续费,发了各种福利之后,就是纯粹在做公益。感兴趣的小伙伴可以看看我在 2020-01-03 发的头条:[做了一个很久没敢做的事情](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247486049&idx=1&sn=e0161b409e8f164251bdaa0c83a476bc&chksm=cea245aaf9d5ccbcafdb95a546d959508814085620aabdbb4385c4b8cea6e50bf157c3697041&token=1614894361&lang=zh_CN#rd),考古一下。
|
这里赠送一个 **30** 元的星球专属优惠券吧,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
|
||||||
|
|
||||||
随着时间推移,星球沉淀的干货资源越来越多,我花在星球上的时间也越来越多。于是,我将星球的定价慢慢调整为了 **166/年**!后续会将星球的价格调整为 **196/年**,想要加入的小伙伴一定要尽早。
|
|
||||||
|
|
||||||
这里再送一个 **30** 元的星球专属优惠券吧,数量有限(价格即将上调。老用户续费半价 ,微信扫码即可续费)!
|
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
|
@ -232,6 +232,22 @@ URI 的作用像身份证号一样,URL 的作用更像家庭住址一样。URL
|
|||||||
|
|
||||||
准确点来说,这个问题属于认证授权的范畴,你可以在 [认证授权基础概念详解](../../system-design/security/basis-of-authority-certification.md) 这篇文章中找到详细的答案。
|
准确点来说,这个问题属于认证授权的范畴,你可以在 [认证授权基础概念详解](../../system-design/security/basis-of-authority-certification.md) 这篇文章中找到详细的答案。
|
||||||
|
|
||||||
|
### GET 和 POST 的区别
|
||||||
|
|
||||||
|
这个问题在知乎上被讨论的挺火热的,地址:<https://www.zhihu.com/question/28586791> 。
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
GET 和 POST 是 HTTP 协议中两种常用的请求方法,它们在不同的场景和目的下有不同的特点和用法。一般来说,可以从以下几个方面来区分二者(重点搞清两者在语义上的区别即可):
|
||||||
|
|
||||||
|
- 语义(主要区别):GET 通常用于获取或查询资源,而 POST 通常用于创建或修改资源。
|
||||||
|
- 幂等:GET 请求是幂等的,即多次重复执行不会改变资源的状态,而 POST 请求是不幂等的,即每次执行可能会产生不同的结果或影响资源的状态。
|
||||||
|
- 格式:GET 请求的参数通常放在 URL 中,形成查询字符串(querystring),而 POST 请求的参数通常放在请求体(body)中,可以有多种编码格式,如 application/x-www-form-urlencoded、multipart/form-data、application/json 等。GET 请求的 URL 长度受到浏览器和服务器的限制,而 POST 请求的 body 大小则没有明确的限制。不过,实际上 GET 请求也可以用 body 传输数据,只是并不推荐这样做,因为这样可能会导致一些兼容性或者语义上的问题。
|
||||||
|
- 缓存:由于 GET 请求是幂等的,它可以被浏览器或其他中间节点(如代理、网关)缓存起来,以提高性能和效率。而 POST 请求则不适合被缓存,因为它可能有副作用,每次执行可能需要实时的响应。
|
||||||
|
- 安全性:GET 请求和 POST 请求如果使用 HTTP 协议的话,那都不安全,因为 HTTP 协议本身是明文传输的,必须使用 HTTPS 协议来加密传输数据。另外,GET 请求相比 POST 请求更容易泄露敏感数据,因为 GET 请求的参数通常放在 URL 中。
|
||||||
|
|
||||||
|
再次提示,重点搞清两者在语义上的区别即可,实际使用过程中,也是通过语义来区分使用 GET 还是 POST。不过,也有一些项目所有的请求都用 POST,这个并不是固定的,项目组达成共识即可。
|
||||||
|
|
||||||
## PING
|
## PING
|
||||||
|
|
||||||
### PING 命令的作用是什么?
|
### PING 命令的作用是什么?
|
||||||
|
@ -134,6 +134,14 @@ public class MultiThread {
|
|||||||
- 线程安全指的是在多线程环境下,对于同一份数据,不管有多少个线程同时访问,都能保证这份数据的正确性和一致性。
|
- 线程安全指的是在多线程环境下,对于同一份数据,不管有多少个线程同时访问,都能保证这份数据的正确性和一致性。
|
||||||
- 线程不安全则表示在多线程环境下,对于同一份数据,多个线程同时访问时可能会导致数据混乱、错误或者丢失。
|
- 线程不安全则表示在多线程环境下,对于同一份数据,多个线程同时访问时可能会导致数据混乱、错误或者丢失。
|
||||||
|
|
||||||
|
## 单核 CPU 上运行多个线程效率一定会高吗?
|
||||||
|
|
||||||
|
单核CPU同时运行多个线程的效率是否会高,取决于线程的类型和任务的性质。一般来说,有两种类型的线程:CPU密集型和IO密集型。CPU密集型的线程主要进行计算和逻辑处理,需要占用大量的CPU资源。IO密集型的线程主要进行输入输出操作,如读写文件、网络通信等,需要等待IO设备的响应,而不占用太多的CPU资源。
|
||||||
|
|
||||||
|
在单核CPU上,同一时刻只能有一个线程在运行,其他线程需要等待CPU的时间片分配。如果线程是CPU密集型的,那么多个线程同时运行会导致频繁的线程切换,增加了系统的开销,降低了效率。如果线程是IO密集型的,那么多个线程同时运行可以利用CPU在等待IO时的空闲时间,提高了效率。
|
||||||
|
|
||||||
|
因此,对于单核CPU来说,如果任务是CPU密集型的,那么开很多线程会影响效率;如果任务是IO密集型的,那么开很多线程会提高效率。当然,这里的“很多”也要适度,不能超过系统能够承受的上限。
|
||||||
|
|
||||||
## 说说线程的生命周期和状态?
|
## 说说线程的生命周期和状态?
|
||||||
|
|
||||||
Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态:
|
Java 线程在运行的生命周期中的指定时刻只可能处于下面 6 种不同状态的其中一个状态:
|
||||||
|
@ -40,16 +40,20 @@ Servlet 接口定义了 5 个方法,其中**前三个方法与 Servlet 生命
|
|||||||
|
|
||||||
参考:《javaweb 整合开发王者归来》P81
|
参考:《javaweb 整合开发王者归来》P81
|
||||||
|
|
||||||
## get 和 post 请求的区别
|
## GET 和 POST 的区别
|
||||||
|
|
||||||
get 和 post 请求实际上是没有区别,大家可以自行查询相关文章(参考文章:[https://www.cnblogs.com/logsharing/p/8448446.html](https://www.cnblogs.com/logsharing/p/8448446.html),知乎对应的问题链接:[get 和 post 区别?](https://www.zhihu.com/question/28586791))!
|
这个问题在知乎上被讨论的挺火热的,地址:<https://www.zhihu.com/question/28586791> 。
|
||||||
|
|
||||||
可以把 get 和 post 当作两个不同的行为,两者并没有什么本质区别,底层都是 TCP 连接。 get 请求用来从服务器上获得资源,而 post 是用来向服务器提交数据。比如你要获取人员列表可以用 get 请求,你需要创建一个人员可以用 post 。这也是 Restful API 最基本的一个要求。
|

|
||||||
|
|
||||||
推荐阅读:
|
GET 和 POST 是 HTTP 协议中两种常用的请求方法,它们在不同的场景和目的下有不同的特点和用法。一般来说,可以从以下几个方面来区分它们:
|
||||||
|
|
||||||
- <https://www.zhihu.com/question/28586791>
|
- 语义上的区别:GET 通常用于获取或查询资源,而 POST 通常用于创建或修改资源。GET 请求应该是幂等的,即多次重复执行不会改变资源的状态,而 POST 请求则可能有副作用,即每次执行可能会产生不同的结果或影响资源的状态。
|
||||||
- <https://mp.weixin.qq.com/s?__biz=MzI3NzIzMzg3Mw==&mid=100000054&idx=1&sn=71f6c214f3833d9ca20b9f7dcd9d33e4#rd>
|
- 格式上的区别:GET 请求的参数通常放在 URL 中,形成查询字符串(querystring),而 POST 请求的参数通常放在请求体(body)中,可以有多种编码格式,如 application/x-www-form-urlencoded、multipart/form-data、application/json 等。GET 请求的 URL 长度受到浏览器和服务器的限制,而 POST 请求的 body 大小则没有明确的限制。
|
||||||
|
- 缓存上的区别:由于 GET 请求是幂等的,它可以被浏览器或其他中间节点(如代理、网关)缓存起来,以提高性能和效率。而 POST 请求则不适合被缓存,因为它可能有副作用,每次执行可能需要实时的响应。
|
||||||
|
- 安全性上的区别:GET 请求和 POST 请求都不是绝对安全的,因为 HTTP 协议本身是明文传输的,无论是 URL、header 还是 body 都可能被窃取或篡改。为了保证安全性,必须使用 HTTPS 协议来加密传输数据。不过,在一些场景下,GET 请求相比 POST 请求更容易泄露敏感数据,因为 GET 请求的参数会出现在 URL 中,而 URL 可能会被记录在浏览器历史、服务器日志、代理日志等地方。因此,一般情况下,私密数据传输应该使用 POST + body。
|
||||||
|
|
||||||
|
重点搞清了,两者在语义上的区别即可。不过,也有一些项目所有的请求都用 POST,这个并不是固定的,项目组达成共识即可。
|
||||||
|
|
||||||
## 什么情况下调用 doGet()和 doPost()
|
## 什么情况下调用 doGet()和 doPost()
|
||||||
|
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
---
|
---
|
||||||
title: 数据脱敏
|
title: 数据脱敏方案总结
|
||||||
category: 系统设计
|
category: 系统设计
|
||||||
tag:
|
tag:
|
||||||
- 安全
|
- 安全
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- @include: @article-header.snippet.md -->
|
||||||
|
|
||||||
> 本文转载完善自[Hutool:一行代码搞定数据脱敏 - 京东云开发者](https://mp.weixin.qq.com/s/1qFWczesU50ndPPLtABHFg)。
|
> 本文转载完善自[Hutool:一行代码搞定数据脱敏 - 京东云开发者](https://mp.weixin.qq.com/s/1qFWczesU50ndPPLtABHFg)。
|
||||||
|
|
||||||
## 什么是数据脱敏
|
## 什么是数据脱敏
|
||||||
|
@ -12,6 +12,8 @@ head:
|
|||||||
content: 基于角色的访问控制(Role-Based Access Control,简称 RBAC)指的是通过用户的角色(Role)授权其相关权限,实现了灵活的访问控制,相比直接授予用户权限,要更加简单、高效、可扩展。
|
content: 基于角色的访问控制(Role-Based Access Control,简称 RBAC)指的是通过用户的角色(Role)授权其相关权限,实现了灵活的访问控制,相比直接授予用户权限,要更加简单、高效、可扩展。
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- @include: @article-header.snippet.md -->
|
||||||
|
|
||||||
> 作者:转转技术团队
|
> 作者:转转技术团队
|
||||||
>
|
>
|
||||||
> 原文:https://mp.weixin.qq.com/s/ONMuELjdHYa0yQceTj01Iw
|
> 原文:https://mp.weixin.qq.com/s/ONMuELjdHYa0yQceTj01Iw
|
||||||
|
@ -5,6 +5,8 @@ tag:
|
|||||||
- 安全
|
- 安全
|
||||||
---
|
---
|
||||||
|
|
||||||
|
<!-- @include: @article-header.snippet.md -->
|
||||||
|
|
||||||
## 什么是 JWT?
|
## 什么是 JWT?
|
||||||
|
|
||||||
JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。
|
JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。
|
||||||
|
10
package.json
10
package.json
@ -21,16 +21,16 @@
|
|||||||
},
|
},
|
||||||
"packageManager": "pnpm@8.6.0",
|
"packageManager": "pnpm@8.6.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@vuepress/client": "2.0.0-beta.62",
|
"@vuepress/client": "2.0.0-beta.67",
|
||||||
"@vuepress/utils": "2.0.0-beta.62",
|
"@vuepress/utils": "2.0.0-beta.67",
|
||||||
"husky": "8.0.3",
|
"husky": "8.0.3",
|
||||||
"markdownlint-cli": "0.34.0",
|
"markdownlint-cli": "0.34.0",
|
||||||
"nano-staged": "0.8.0",
|
"nano-staged": "0.8.0",
|
||||||
"nodejs-jieba": "0.0.2",
|
"nodejs-jieba": "0.0.2",
|
||||||
"prettier": "2.8.8",
|
"prettier": "2.8.8",
|
||||||
"vue": "3.3.4",
|
"vue": "3.3.4",
|
||||||
"vuepress": "2.0.0-beta.62",
|
"vuepress": "2.0.0-beta.67",
|
||||||
"@vuepress/plugin-search": "2.0.0-beta.62",
|
"@vuepress/plugin-search": "2.0.0-beta.67",
|
||||||
"vuepress-theme-hope": "2.0.0-beta.221"
|
"vuepress-theme-hope": "2.0.0-beta.236"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
2746
pnpm-lock.yaml
generated
2746
pnpm-lock.yaml
generated
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user