diff --git a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点.md b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点.md index 0e31443..c55a434 100644 --- a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点.md +++ b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点.md @@ -708,7 +708,7 @@ int main() 面向对象程序设计(Object-oriented programming,OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。 -![图片](https://mmbiz.qpic.cn/mmbiz_png/kChlCQZAfH5FqDts5YrdZGE45XzVJudXRcRILjlpAIuhvY3jR92az84fibr0icTn6WH5Alo2Vxdrh1HMVnaMxdhQ/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)面向对象特征 +![图片](images/640.webp)面向对象特征 面向对象三大特征 —— 封装、继承、多态 @@ -1220,7 +1220,7 @@ class doSomething(Flyable *obj) // 做些事情 > > #### Google C++ Style Guide 图 -![图片](https://mmbiz.qpic.cn/mmbiz_png/kChlCQZAfH5FqDts5YrdZGE45XzVJudXSb48q1TO1UwsBmib9bSAWfLdF4rOfJNbf7HwQrLeCRvzvIibXpd737LQ/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1) +![图片](images/650.webp) > 图片来源于:CSDN . 一张图总结Google C++编程规范(Google C++ Style Guide) @@ -1647,7 +1647,7 @@ typedef struct BiTNode #### 八叉树图片 -![图片](https://mmbiz.qpic.cn/mmbiz_png/kChlCQZAfH5FqDts5YrdZGE45XzVJudXgibemJh7kI2KuG7IuADenHTWm8XZRE1AwEIbczibHbR03rtibCibibxLEKw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1) +![图片](images/660.webp) 八叉树(octree),或称八元树,是一种用于描述三维空间(划分空间)的树状数据结构。八叉树的每个节点表示一个正方体的体积元素,每个节点有八个子节点,这八个子节点所表示的体积元素加在一起就等于父节点的体积。一般中心点作为节点的分叉中心。 @@ -2459,7 +2459,7 @@ ssize_t write(int fd, const void *buf, size_t count); 只有就完了三次握手,但是这个三次握手发生在 Socket 的那几个函数中呢?请看下图: -![图片](https://mmbiz.qpic.cn/mmbiz_png/kChlCQZAfH5FqDts5YrdZGE45XzVJudXU3CYC5EU3tKckJvC4XB2vaUpFyFvKNiaQ8k5icVONibnILdyXpIlvPBYA/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)socket 中发送的 TCP 三次握手 +![图片](images/670.webp)socket 中发送的 TCP 三次握手 从图中可以看出: @@ -2472,7 +2472,7 @@ ssize_t write(int fd, const void *buf, size_t count); 上面介绍了 socket 中 TCP 的三次握手建立过程,及其涉及的 socket 函数。现在我们介绍 socket 中的四次握手释放连接的过程,请看下图: -![图片](https://mmbiz.qpic.cn/mmbiz_png/kChlCQZAfH5FqDts5YrdZGE45XzVJudXxNJlh5gfLcegmkogu0QWWl1LT5mD5E2bEhQtNlYRMhB6PnrOtVuUPw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1)socket 中发送的 TCP 四次握手 +![图片](images/680.webp)socket 中发送的 TCP 四次握手 图示过程如下: diff --git a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/640.webp b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/640.webp new file mode 100644 index 0000000..b38adfa Binary files /dev/null and b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/640.webp differ diff --git a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/650.webp b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/650.webp new file mode 100644 index 0000000..35c61a6 Binary files /dev/null and b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/650.webp differ diff --git a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/660.webp b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/660.webp new file mode 100644 index 0000000..792a1f3 Binary files /dev/null and b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/660.webp differ diff --git a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/670.webp b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/670.webp new file mode 100644 index 0000000..37df663 Binary files /dev/null and b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/670.webp differ diff --git a/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/680.webp b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/680.webp new file mode 100644 index 0000000..e633ba4 Binary files /dev/null and b/source/_posts/c++/article/2022/02/07/五万字长文总结 CPlusPlus 知识点/images/680.webp differ diff --git a/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态.md b/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态.md index 57f7563..6ed6225 100644 --- a/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态.md +++ b/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态.md @@ -20,7 +20,7 @@ date: 2022-02-07 00:00:00 运行期多态的设计思想要归结到类继承体系的设计上去。对于有相关功能的对象集合,我们总希望能够抽象出它们共有的功能集合,在基类中将这些功能声明为虚接口(虚函数),然后由子类继承基类去重写这些虚接口,以实现子类特有的具体功能。典型地我们会举下面这个例子: -![图片](https://gitee.com/zyjblog/img/raw/master/md/2021-9-30-640.png) +![图片](images/2021-9-30-640.png) ```cpp class Animal diff --git a/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态/images/2021-9-30-640.png b/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态/images/2021-9-30-640.png new file mode 100644 index 0000000..abab832 Binary files /dev/null and b/source/_posts/c++/base/polymorphic/CPlusPlus编译期多态与运行期多态/images/2021-9-30-640.png differ diff --git a/source/_posts/java/base/net/BIO-NIO-AIO.md b/source/_posts/java/base/net/BIO-NIO-AIO.md index fba042f..f75a704 100644 --- a/source/_posts/java/base/net/BIO-NIO-AIO.md +++ b/source/_posts/java/base/net/BIO-NIO-AIO.md @@ -42,7 +42,7 @@ date: 2021-08-13 00:00:00 BIO通信(一请求一应答)模型图如下(图源网络,原出处不明): -![传统BIO通信模型图](./img/2.png) +![传统BIO通信模型图](images/2.png) 采用 **BIO 通信模型** 的服务端,通常由一个独立的 Acceptor 线程负责监听客户端的连接。我们一般通过在`while(true)` 循环中服务端会调用 `accept()` 方法等待接收客户端的连接的方式监听请求,请求一旦接收到一个连接请求,就可以建立通信套接字在这个通信套接字上进行读写操作,此时不能再接收其他客户端连接请求,只能等待同当前连接的客户端的操作执行完成, 不过可以通过多线程来支持多个客户端的连接,如上图所示。 @@ -58,7 +58,7 @@ BIO通信(一请求一应答)模型图如下(图源网络,原出处不明) 伪异步IO模型图(图源网络,原出处不明): -![伪异步IO模型图](http://study.zyjblogs.cn/3.png) +![伪异步IO模型图](images/3.png) 采用线程池和任务队列可以实现一种叫做伪异步的 I/O 通信框架,它的模型图如上图所示。当有新的客户端接入时,将客户端的 Socket 封装成一个Task(该任务实现java.lang.Runnable接口)投递到后端的线程池中进行处理,JDK 的线程池维护一个消息队列和 N 个活跃线程,对消息队列中的任务进行处理。由于线程池可以设置消息队列的大小和最大线程数,因此,它的资源占用是可控的,无论多少个客户端并发访问,都不会导致资源的耗尽和宕机。 @@ -194,7 +194,7 @@ NIO有选择器,而IO没有。 选择器用于使用单个线程处理多个通道。因此,它需要较少的线程来处理这些通道。线程之间的切换对于操作系统来说是昂贵的。 因此,为了提高系统效率选择器是有用的。 -![一个单线程中Selector维护3个Channel的示意图](./img/Slector.png) +![一个单线程中Selector维护3个Channel的示意图](images/Slector.png) ### 2.3 NIO 读数据和写数据方式 @@ -205,7 +205,7 @@ NIO有选择器,而IO没有。 数据读取和写入操作图示: -![NIO读写数据的方式](./img/NIO读写数据的方式.png) +![NIO读写数据的方式](images/NIO读写数据的方式.png) ### 2.4 NIO核心组件简单介绍 diff --git a/source/_posts/java/base/net/BIO-NIO-AIO/img/2.png b/source/_posts/java/base/net/BIO-NIO-AIO/images/2.png similarity index 100% rename from source/_posts/java/base/net/BIO-NIO-AIO/img/2.png rename to source/_posts/java/base/net/BIO-NIO-AIO/images/2.png diff --git a/source/_posts/java/base/net/BIO-NIO-AIO/img/3.png b/source/_posts/java/base/net/BIO-NIO-AIO/images/3.png similarity index 100% rename from source/_posts/java/base/net/BIO-NIO-AIO/img/3.png rename to source/_posts/java/base/net/BIO-NIO-AIO/images/3.png diff --git a/source/_posts/java/base/net/BIO-NIO-AIO/img/NIO读写数据的方式.png b/source/_posts/java/base/net/BIO-NIO-AIO/images/NIO读写数据的方式.png similarity index 100% rename from source/_posts/java/base/net/BIO-NIO-AIO/img/NIO读写数据的方式.png rename to source/_posts/java/base/net/BIO-NIO-AIO/images/NIO读写数据的方式.png diff --git a/source/_posts/java/base/net/BIO-NIO-AIO/img/Slector.png b/source/_posts/java/base/net/BIO-NIO-AIO/images/Slector.png similarity index 100% rename from source/_posts/java/base/net/BIO-NIO-AIO/img/Slector.png rename to source/_posts/java/base/net/BIO-NIO-AIO/images/Slector.png