Skip to content

Commit 33fb6ed

Browse files
committed
[refractor]图片资源迁移
1 parent 4e104ac commit 33fb6ed

File tree

9 files changed

+21
-9810
lines changed

9 files changed

+21
-9810
lines changed

JavaGuide.md

Lines changed: 0 additions & 9780 deletions
This file was deleted.

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
**《JavaGuide 面试突击版》** 预计一个月左右会有一次内容更新和完善,大家在我的公众号 **JavaGuide** 后台回复**“面试突击”** 即可获取最新版!另外,为了保证自己的辛勤劳动不被恶意盗版滥用,所以我添加了水印并且在一些内容注明版权,希望大家理解。
1414

15-
![我的公众号](https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/167598cd2e17b8ec.png)
15+
![我的公众号](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/167598cd2e17b8ec.png)
1616

1717
## 如何贡献
1818

@@ -47,5 +47,5 @@ JavaGuide 目前已经 70k+ Star ,目前已经是所有 Java 类别项目中 S
4747

4848
点击这里查看:[知识星球历史优质文章](./知识星球.md)
4949

50-
![](https://imgkr.cn-bj.ufileos.com/7b7aae75-7507-46c8-9bd3-7a37ffaf40d0.png)
50+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/11327ec2-40c3-4842-9ce4-48d42c84d089.png)
5151

docs/a-0必看.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ JavaGuide 目前已经 70k+ Star ,目前已经是所有 Java 类别项目中 S
4343

4444
如果觉得本文档对你有帮助的话,欢迎加入我的知识星球。创建星球的目的主要是为了提高知识沉淀,微信群的弊端相比大家都了解。星球没有免费的原因是了设立门槛,提高进入读者的质量。我会在星球回答大家的问题,更新更多的大厂面试干货!
4545

46-
![](https://imgkr.cn-bj.ufileos.com/11327ec2-40c3-4842-9ce4-48d42c84d089.png)
46+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/11327ec2-40c3-4842-9ce4-48d42c84d089.png)
4747

4848
我的知识星球的价格应该是我了解的圈子里面最低的,也就1顿饭钱吧!毕竟关注我的大部分还是学生,我打心底里希望自己分享的东西能对大家有帮助。
4949

docs/e-4netty.md

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -71,8 +71,6 @@ _网络编程我愿意称中 Netty 为王 。_
7171

7272
> `EventLoop` 定义了 Netty 的核心抽象,用于处理连接的生命周期中所发生的事件。
7373
74-
![](https://imgkr.cn-bj.ufileos.com/10f14c78-5d3d-4c1c-b8b9-5d507152ef69.png)
75-
7674
是不是很难理解?说实话,我学习 Netty 的时候看到这句话是没太能理解的。
7775

7876
说白了,**`EventLoop` 的主要作用实际就是负责监听网络事件并调用事件处理器进行相关 I/O 操作的处理。**
@@ -130,7 +128,7 @@ public interface ChannelFuture extends Future<Void> {
130128

131129
🙋 ****
132130

133-
![](https://imgkr.cn-bj.ufileos.com/2a5a4a71-cfb7-4735-bf5c-6a57007c82ec.png)
131+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/2a5a4a71-cfb7-4735-bf5c-6a57007c82ec.png)
134132

135133
`EventLoopGroup` 包含多个 `EventLoop`(每一个 `EventLoop` 通常内部包含一个线程),上面我们已经说了 `EventLoop` 的主要作用实际就是负责监听网络事件并调用事件处理器进行相关 I/O 操作的处理。
136134

@@ -311,7 +309,7 @@ try {
311309
//......
312310
```
313311

314-
![](https://imgkr.cn-bj.ufileos.com/7e7357ef-e724-4122-847c-fbccd9eb6ae3.png)
312+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/7e7357ef-e724-4122-847c-fbccd9eb6ae3.png)
315313

316314
**3.主从多线程模型**
317315

@@ -329,7 +327,7 @@ try {
329327
//......
330328
```
331329

332-
![](https://imgkr.cn-bj.ufileos.com/04d0a911-a5c1-4c18-947e-d14b80634510.png)
330+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/04d0a911-a5c1-4c18-947e-d14b80634510.png)
333331

334332
### 5.4.9 Netty 服务端和客户端的启动过程了解么?
335333

@@ -479,7 +477,7 @@ ChannelFuture f = b.connect(host, port).addListener(future -> {
479477

480478
🙋 ****TCP 粘包/拆包 就是你基于 TCP 发送数据的时候,出现了多个字符串“粘”在了一起或者一个字符串被“拆”开的问题。比如你多次发送:“你好,你真帅啊!哥哥!”,但是客户端接收到的可能是下面这样的:
481479

482-
![](https://imgkr.cn-bj.ufileos.com/07bd8979-2b34-4000-a829-03a74d0701b2.png)
480+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/07bd8979-2b34-4000-a829-03a74d0701b2-20200802233754778.png)
483481

484482
👨‍💻**面试官** :那有什么解决办法呢?
485483

docs/f-1认证授权.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@
1616

1717
**认证 (Authentication):** 你是谁。
1818

19-
<img src="https://imgkr.cn-bj.ufileos.com/96086534-9525-4464-97d6-e6fe94b8263f.png" style="zoom:80%;" />
19+
<img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/96086534-9525-4464-97d6-e6fe94b8263f.png" style="zoom:80%;" />
2020

2121
**授权 (Authorization):** 你有权限干什么。
2222

23-
<img src="https://imgkr.cn-bj.ufileos.com/d205bc73-9b3c-421d-ac92-b45a911df098.png" style="zoom:60%;" />
23+
<img src="https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/d205bc73-9b3c-421d-ac92-b45a911df098.png" style="zoom:60%;" />
2424

2525
稍微正式点(啰嗦点)的说法就是:
2626

docs/h-微服务.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,3 @@
2828

2929

3030

31-
<img src="https://imgkr.cn-bj.ufileos.com/cf2ebd93-e981-4ec5-b018-e92e334c3df1.png" style="zoom:50%;" />

docs/i-2真实大厂面试现场.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@
9393

9494
> 如果你对 Java 内存区域 (运行时数据区) 这部分知识不太了解的话可以阅读一下这篇文章:[《可能是把 Java 内存区域讲的最清楚的一篇文章》](<[https://snailclimb.gitee.io/javaguide/#/docs/java/jvm/Java%E5%86%85%E5%AD%98%E5%8C%BA%E5%9F%9F](https://snailclimb.gitee.io/javaguide/#/docs/java/jvm/Java内存区域)>)
9595
96-
![jvm运行时数据区域](https://images.xiaozhuanlan.com/photo/2019/ff96fed0e2a354bb16bbc84dcedf503a.png)
96+
![jvm运行时数据区域](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/ff96fed0e2a354bb16bbc84dcedf503a.png)
9797

9898
从上图可以看出:一个进程中可以有多个线程,多个线程共享进程的******方法区 (JDK1.8 之后的元空间)**资源,但是每个线程有自己的**程序计数器****虚拟机栈****本地方法栈**
9999

@@ -301,7 +301,7 @@ public class Singleton {
301301

302302
为了更好地理解,我画了一个简单的CPU Cache示意图如下(实际上,现代的CPU Cache通常分为三层,分别叫L1,L2,L3 Cache):
303303

304-
![CPU Cache](https://imgkr.cn-bj.ufileos.com/303a300f-70dd-4ee1-9974-3f33affc6574.png)
304+
![CPU Cache](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/303a300f-70dd-4ee1-9974-3f33affc6574.png)
305305

306306
**CPU Cache的工作方式:**
307307

@@ -313,13 +313,13 @@ public class Singleton {
313313

314314
在 JDK1.2 之前,Java 的内存模型实现总是从**主存**(即共享内存)读取变量,是不需要进行特别的注意的。而在当前的 Java 内存模型下,线程可以把变量保存**本地内存**(比如机器的寄存器)中,而不是直接在主存中进行读写。这就可能造成一个线程在主存中修改了一个变量的值,而另外一个线程还继续使用它在寄存器中的变量值的拷贝,造成**数据的不一致**
315315

316-
![JMM(Java内存模型)](https://imgkr.cn-bj.ufileos.com/0ac7e663-7db8-4b95-8d8e-7d2b179f67e8.png)
316+
![JMM(Java内存模型)](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/0ac7e663-7db8-4b95-8d8e-7d2b179f67e8.png)
317317

318318
要解决这个问题,就需要把变量声明为**volatile**,这就指示 JVM,这个变量是共享且不稳定的,每次使用它都到主存中进行读取。
319319

320320
所以,**volatile 关键字 除了防止 JVM 的指令重排 ,还有一个重要的作用就是保证变量的可见性。**
321321

322-
![volatile关键字的可见性](https://imgkr.cn-bj.ufileos.com/d49c5557-140b-4abf-adad-8aac3c9036cf.png)
322+
![volatile关键字的可见性](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/d49c5557-140b-4abf-adad-8aac3c9036cf.png)
323323

324324
#### synchronized关键字介绍
325325

@@ -477,7 +477,7 @@ CompletableFuture<Void> allFutures = CompletableFuture.allOf(
477477

478478
🙋 **** :TCP 粘包/拆包 就是你基于 TCP 发送数据的时候,出现了多个字符串“粘”在了一起或者一个字符串被“拆”开的问题。比如你多次发送:“你好,你真帅啊!哥哥!”,但是客户端接收到的可能是下面这样的:
479479

480-
![](https://imgkr.cn-bj.ufileos.com/07bd8979-2b34-4000-a829-03a74d0701b2.png)
480+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/07bd8979-2b34-4000-a829-03a74d0701b2.png)
481481

482482
**解决办法:**
483483

@@ -538,7 +538,7 @@ try {
538538
//......
539539
```
540540

541-
![](https://imgkr.cn-bj.ufileos.com/7e7357ef-e724-4122-847c-fbccd9eb6ae3.png)
541+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/7e7357ef-e724-4122-847c-fbccd9eb6ae3-20200802233344081.png)
542542

543543
**3.主从多线程模型**
544544

@@ -556,7 +556,7 @@ try {
556556
//......
557557
```
558558

559-
![](https://imgkr.cn-bj.ufileos.com/04d0a911-a5c1-4c18-947e-d14b80634510.png)
559+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/04d0a911-a5c1-4c18-947e-d14b80634510-20200802233346929.png)
560560

561561
#### Netty 的零拷贝
562562

docs/interview-experience/a-5蚂蚁金服、头条、拼多多面经总结.md

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,6 @@
4444

4545
### 蚂蚁金服
4646

47-
![img](https://mmbiz.qpic.cn/mmbiz_jpg/zsXjkGNcic53JMPc0FUw1lBXl5iaibrEXvt9qal7lJSgfGJ8mq00yE1J4UQ9H1oo9t6RAL4T3whhx17TYlj1mjlXA/?wx_fmt=jpeg)
48-
4947
- 一面
5048
- 二面
5149
- 三面
@@ -130,8 +128,6 @@
130128

131129
### 拼多多
132130

133-
![img](https://mmbiz.qpic.cn/mmbiz_jpg/zsXjkGNcic53JMPc0FUw1lBXl5iaibrEXvtsmoh9TdJcV0hwnrjtbWPdOacyj2uYe2qaI5jvlGIQHwYtknwnGTibbQ/?wx_fmt=jpeg)
134-
135131
- 面试前
136132
- 一面
137133
- 二面
@@ -188,8 +184,6 @@
188184

189185
### 字节跳动
190186

191-
![img](https://mmbiz.qpic.cn/mmbiz_jpg/zsXjkGNcic53JMPc0FUw1lBXl5iaibrEXvtRoTSCMeUWramk7M4CekxE9ssH5DFGBxmDcw0x9hjzmbIGHVWenDK8w/?wx_fmt=jpeg)
192-
193187
- 面试前
194188
- 一面
195189
- 二面
@@ -266,4 +260,4 @@
266260

267261
最后,附一张自己面试前准备的脑图:
268262

269-
![](https://imgkr.cn-bj.ufileos.com/89c4cd68-84a9-4cc7-9203-ce89c8385d21.png)
263+
![](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/89c4cd68-84a9-4cc7-9203-ce89c8385d21.png)

docs/j-2algorithm.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
我和这个开源项目的原作者有过交流,是一名很优秀的 coder。
2020

21-
![CS-Notes算法部分](https://imgkr.cn-bj.ufileos.com/98b3f879-1ac0-41f6-9084-74e167a22afd.png)
21+
![CS-Notes算法部分](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/98b3f879-1ac0-41f6-9084-74e167a22afd.png)
2222

2323
这个开源项目的算法部分包括4部分:
2424

@@ -33,18 +33,18 @@
3333

3434
仓库的更新的大部分算法题都是通过 Java 语言解答的,少部分是使用 C/C++解答。
3535

36-
![LeetCodeAnimation部分题解](https://imgkr.cn-bj.ufileos.com/fa310b43-c0d9-491d-b9aa-f6215c8fe2f6.png)
36+
![LeetCodeAnimation部分题解](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/fa310b43-c0d9-491d-b9aa-f6215c8fe2f6-20200802233201672.png)
3737

3838
### 3.[leetcode](https://github.com/doocs/leetcode)
3939

4040
多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解。
4141

42-
![leetcode在线阅读版本](https://imgkr.cn-bj.ufileos.com/a9558c4b-347c-43c5-8643-ed05507f8f60.png)
42+
![leetcode在线阅读版本](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/a9558c4b-347c-43c5-8643-ed05507f8f60.png)
4343

4444
### 4.[LeetCode-Solution-in-Good-Style](https://github.com/liweiwei1419/LeetCode-Solution-in-Good-Style)
4545

4646
这个项目是作者在学习《算法与数据结构》的时候,在 [LeetCode(力扣)](https://leetcode-cn.com/) 上做的练习,刷题以 Java 语言为主。
4747

4848
作者在刷题的时候,非常考虑代码质量,他的很多问题的回答都被 Leetcode 官方精选,值得推荐!
4949

50-
![LeetCode-Solution-in-Good-Style部分题解](https://imgkr.cn-bj.ufileos.com/c4777e4f-0d2c-4d51-b470-000a18aa4d0d.png)
50+
![LeetCode-Solution-in-Good-Style部分题解](https://guide-blog-images.oss-cn-shenzhen.aliyuncs.com/2020-8/c4777e4f-0d2c-4d51-b470-000a18aa4d0d.png)

0 commit comments

Comments
 (0)