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

chore: update deps

This commit is contained in:
Mr.Hope 2023-05-16 13:19:51 +08:00
parent 21573992f6
commit a9584a4659
22 changed files with 1347 additions and 27770 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@ dist/
packages/*/lib/
traversal-folder-replace-string.py
format-markdown.py
package-lock.json

View File

@ -97,7 +97,7 @@ GitHub 上也已经有大佬用 Java 实现过一个简易的数据库,介绍
如果你要学习 Redis 的话,强烈推荐下面这两本书:
- [《Redis 设计与实现》](https://book.douban.com/subject/25900156/) :主要是 Redis 理论知识相关的内容,比较全面。我之前写过一篇文章 [《7 年前24 岁,出版了一本 Redis 神书》](https://mp.weixin.qq.com/s?__biz=Mzg2OTA0Njk0OA==&mid=2247507030&idx=1&sn=0a5fd669413991b30163ab6f5834a4ad&chksm=cea1939df9d61a8b93925fae92f4cee0838c449534e60731cfaf533369831192e296780b32a6&token=709354671&lang=zh_CN&scene=21#wechat_redirect) 来介绍这本书。
- [《Redis核心原理与实践》 ](https://book.douban.com/subject/26612779/):主要是结合源码来分析 Redis 的重要知识点比如各种数据结构和高级特性。
- [《Redis 核心原理与实践》 ](https://book.douban.com/subject/26612779/):主要是结合源码来分析 Redis 的重要知识点比如各种数据结构和高级特性。
![《Redis 设计与实现》和《Redis 设计与实现》](https://oss.javaguide.cn/github/javaguide/books/redis-books.png)

View File

@ -289,7 +289,7 @@ public class Solution {
return dummy.next;
}
}
``
```
**进阶——一次遍历法:**

View File

@ -137,4 +137,3 @@ Dubbo 也是 Spring Cloud Alibaba 里面的一个组件。
## 既然有了 HTTP 协议,为什么还要有 RPC
关于这个问题的详细答案,请看这篇文章:[有了 HTTP 协议,为什么还要有 RPC ](http&rpc.md) 。

View File

@ -41,5 +41,5 @@
## 工作
- [新入职一家公司如何快速进入工作状态](./work/get-into-work-mode-quickly-when-you-join-a-company.md)
- [32条总结教你提升职场经验](./work/32-tips-improving-career.md)
- [32 条总结教你提升职场经验](./work/32-tips-improving-career.md)
- [聊聊大厂的绩效考核](./work/employee-performance.md)

View File

@ -20,7 +20,7 @@ icon: experience
![](https://oss.javaguide.cn/xingqiu/image-20220628101805897.png)
相比于牛客网或者其他网站的面经《Java面试指北》中整理的面经质量更高并且我会提供优质的参考资料。
相比于牛客网或者其他网站的面经《Java 面试指北》中整理的面经质量更高,并且,我会提供优质的参考资料。
有很多同学要说了:“为什么不直接给出具体答案呢?”。主要原因有如下两点:

View File

@ -229,12 +229,10 @@ FAB 法则由下面 3 个单词组成FAB 法则的名字就是由它们的首
精简表述,突出亮点。校招简历建议不要超过 2 页,社招简历建议不要超过 3 页。如果内容过多的话,不需要非把内容压缩到一页,保持排版干净整洁就可以了。
看了几千份简历有少部分同学的简历页数都接近10页了让我头皮发麻。
看了几千份简历,有少部分同学的简历页数都接近 10 页了,让我头皮发麻。
![简历页数过多](https://oss.javaguide.cn/zhishixingqiu/image-20230508223646164.png)
### 避免语义模糊
尽量避免主观表述,少一点语义模糊的形容词。表述要简洁明了,简历结构要清晰。

View File

@ -63,11 +63,11 @@ head:
如果你看过 `HashSet` 源码的话就应该知道:`HashSet` 底层就是基于 `HashMap` 实现的。(`HashSet` 的源码非常非常少,因为除了 `clone()``writeObject()``readObject()``HashSet` 自己不得不实现之外,其他方法都是直接调用 `HashMap` 中的方法。
| `HashMap` | `HashSet` |
| :------------------------------------: | :----------------------------------------------------------: |
| 实现了 `Map` 接口 | 实现 `Set` 接口 |
| 存储键值对 | 仅存储对象 |
| 调用 `put()`向 map 中添加元素 | 调用 `add()`方法向 `Set` 中添加元素 |
| `HashMap` | `HashSet` |
| :------------------------------------: | :----------------------------------------------------------------------------------------------------------------------: |
| 实现了 `Map` 接口 | 实现 `Set` 接口 |
| 存储键值对 | 仅存储对象 |
| 调用 `put()`向 map 中添加元素 | 调用 `add()`方法向 `Set` 中添加元素 |
| `HashMap` 使用键Key计算 `hashcode` | `HashSet` 使用成员对象来计算 `hashcode` 值,对于两个对象来说 `hashcode` 可能相同,所以`equals()`方法用来判断对象的相等性 |
### HashMap 和 TreeMap 区别
@ -286,11 +286,11 @@ JDK1.7 及之前版本的 `HashMap` 在多线程环境下扩容操作可能存
为了解决这个问题JDK1.8 版本的 HashMap 采用了尾插法而不是头插法来避免链表倒置,使得插入的节点永远都是放在链表的末尾,避免了链表中的环形结构。但是还是不建议在多线程下使用 `HashMap`,因为多线程下使用 `HashMap` 还是会存在数据覆盖的问题。并发环境下,推荐使用 `ConcurrentHashMap`
一般面试中这样介绍就差不多,不需要记各种细节,个人觉得也没必要记。如果想要详细了解 `HashMap` 扩容导致死循环问题,可以看看耗子叔的这篇文章:[Java HashMap 的死循环](https://coolshell.cn/articles/9606.html)。
一般面试中这样介绍就差不多,不需要记各种细节,个人觉得也没必要记。如果想要详细了解 `HashMap` 扩容导致死循环问题,可以看看耗子叔的这篇文章:[Java HashMap 的死循环](https://coolshell.cn/articles/9606.html)。
### HashMap 为什么线程不安全?
JDK1.7 及之前版本,在多线程环境下,`HashMap` 扩容时会造成死循环和数据丢失的问题。
JDK1.7 及之前版本,在多线程环境下,`HashMap` 扩容时会造成死循环和数据丢失的问题。
数据丢失这个在 JDK1.7 和 JDK 1.8 中都存在,这里以 JDK 1.8 为例进行介绍。

View File

@ -53,6 +53,3 @@ JavaGuide 这个项目诞生一年左右就有出版社的老师联系我了,
我也知道大家不喜欢营销,所以我会让自己控制好一个度。我一不割韭菜,二不贩卖焦虑,仅仅赚一份小钱提升家人生活品质。
**用心做内容,真心希望能帮助到其他人。**

26521
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
"description": "javaguide",
"license": "MIT",
"author": "Guide",
"packageManager": "pnpm@8.3.1",
"packageManager": "pnpm@8.5.1",
"scripts": {
"docs:build": "vuepress build docs",
"docs:dev": "vuepress dev docs",
@ -21,15 +21,15 @@
]
},
"dependencies": {
"@vuepress/client": "2.0.0-beta.61",
"@vuepress/utils": "2.0.0-beta.61",
"@vuepress/client": "2.0.0-beta.62",
"@vuepress/utils": "2.0.0-beta.62",
"husky": "8.0.3",
"markdownlint-cli": "0.33.0",
"markdownlint-cli": "0.34.0",
"nano-staged": "0.8.0",
"prettier": "2.8.8",
"vue": "3.2.47",
"vuepress": "2.0.0-beta.61",
"vuepress-plugin-search-pro": "2.0.0-beta.206",
"vuepress-theme-hope": "2.0.0-beta.206"
"vue": "3.3.2",
"vuepress": "2.0.0-beta.62",
"vuepress-plugin-search-pro": "2.0.0-beta.211",
"vuepress-theme-hope": "2.0.0-beta.211"
}
}

2525
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff