From 619381a48c6281e1264eb949f77c0bca2973f574 Mon Sep 17 00:00:00 2001 From: zhuyijun Date: Tue, 19 Mar 2024 14:59:15 +0800 Subject: [PATCH] Site updated: 2024-03-19 14:59:10 --- 404.html | 2 +- about/index.html | 4 +- archives/2021/08/index.html | 6 +- archives/2021/index.html | 6 +- archives/2022/02/index.html | 6 +- archives/2022/index.html | 6 +- archives/2023/10/index.html | 6 +- archives/2023/index.html | 6 +- archives/2024/03/index.html | 6 +- archives/2024/03/page/2/index.html | 6 +- archives/2024/index.html | 6 +- archives/2024/page/2/index.html | 6 +- archives/index.html | 6 +- archives/page/2/index.html | 6 +- archives/page/3/index.html | 6 +- atom.xml | 164 +- bangumis/index.html | 22 +- calendar.json | 2 +- categories/c/index.html | 42 +- categories/c/page/2/index.html | 6 +- categories/index.html | 4 +- categories/java/index.html | 6 +- categories/书/index.html | 6 +- categories/多线程/index.html | 6 +- categories/多线程/java/index.html | 6 +- categories/数据结构/index.html | 6 +- categories/算法/index.html | 20 +- categories/网络/index.html | 6 +- categories/网络/java/index.html | 6 +- index.html | 32 +- link/index.html | 4 +- page/2/index.html | 64 +- page/3/index.html | 6 +- posts/0.html | 2 +- posts/11902.html | 2 +- posts/15563.html | 2 +- posts/3189.html | 2 +- posts/35899.html | 2 +- posts/39831.html | 2 +- posts/43515.html | 2 +- posts/45609.html | 2 +- posts/58849.html | 2 +- posts/59243.html | 2 +- posts/59764.html | 2 +- posts/6077.html | 2 +- posts/63502.html | 2 +- posts/87ddd1f4.html | 2 +- posts/92fa7813.html | 2 +- posts/97623f3c.html | 10 +- posts/97da918c.html | 2 +- posts/b57ba5ed.html | 2 +- posts/b8928e0e.html | 2 +- posts/bd497d25.html | 2 +- posts/dbb6295a.html | 2 +- posts/e88a2bb0.html | 2 +- posts/f11fd659.html | 2 +- posts/f5786ffa.html | 2 +- rss2.xml | 174 +- search.xml | 3734 ++++++++++++++-------------- tags/c/index.html | 42 +- tags/c/page/2/index.html | 6 +- tags/cJson/index.html | 6 +- tags/chrono/index.html | 6 +- tags/dp/index.html | 6 +- tags/hashmap/index.html | 6 +- tags/index.html | 4 +- tags/java/index.html | 6 +- tags/memory/index.html | 10 +- tags/springcloud/index.html | 6 +- tags/stream/index.html | 6 +- tags/后端/index.html | 6 +- tags/回溯/index.html | 6 +- tags/图/index.html | 16 +- tags/多线程/index.html | 6 +- tags/并查集/index.html | 6 +- tags/指针/index.html | 6 +- tags/数据结构/index.html | 6 +- tags/查找/index.html | 6 +- tags/树/index.html | 6 +- tags/算法/index.html | 6 +- tags/网络/index.html | 6 +- tags/递归/index.html | 6 +- 82 files changed, 2321 insertions(+), 2321 deletions(-) diff --git a/404.html b/404.html index 24db57c..d38d919 100644 --- a/404.html +++ b/404.html @@ -50,7 +50,7 @@ isHome: false, isHighlightShrink: false, isToc: false, - postUpdate: '2024-03-19 14:56:14' + postUpdate: '2024-03-19 14:59:04' }
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
文章总览 - 5
2021
BIO,NIO,AIO 总结
BIO,NIO,AIO 总结
Java线程生命周期与状态切换
Java线程生命周期与状态切换
C++书单
C++书单
微服务框架
微服务框架
第一次使用hexo
第一次使用hexo
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
文章总览 - 5
2021
BIO,NIO,AIO 总结
BIO,NIO,AIO 总结
Java线程生命周期与状态切换
Java线程生命周期与状态切换
C++书单
C++书单
微服务框架
微服务框架
第一次使用hexo
第一次使用hexo
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
文章总览 - 2
2023
数据结构简介
数据结构简介
二分查找模版
二分查找模版
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
文章总览 - 2
2023
数据结构简介
数据结构简介
二分查找模版
二分查找模版
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
文章总览 - 12
2024
N皇后
N皇后
Union-Find 算法
Union-Find 算法
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
文章总览 - 12
2024
N皇后
N皇后
Union-Find 算法
Union-Find 算法
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
-

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
N皇后
Union-Find 算法

评论
GitalkLivere

评论
GitalkLivere

评论
GitalkLivere

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. C++ 八股文(一)
    1. 1.1. 多态
      1. 1.1.1. 什么是多态,有什么用
    2. 1.2. 重写、重载与隐藏的区别
      1. 1.2.1. Overload 重载
      2. 1.2.2. Override(覆盖或重写)
      3. 1.2.3. Overwrite(重写)隐藏,
      4. 1.2.4. 虚函数和纯虚函数
      5. 1.2.5. 基类为什么需要虚析构函数?
      6. 1.2.6. 构造/析构函数调用虚函数
      7. 1.2.7. 虚函数表
    3. 1.3. const 相关
    4. 1.4. 如何初始化 const 和 static 数据成员?
      1. 1.4.1. static 和 const 分别怎么用,类里面 static 和 const 可以同时修饰成员函数吗?
    5. 1.5. 对变量
      1. 1.5.1. 局部变量
      2. 1.5.2. 全局变量
    6. 1.6. 对类
      1. 1.6.1. 成员变量
      2. 1.6.2. 成员函数
    7. 1.7. 构造函数
      1. 1.7.1. 构造函数调用顺序
      2. 1.7.2. 自身构造函数顺序
      3. 1.7.3. this 指针
      4. 1.7.4. extern 关键字
      5. 1.7.5. 以下关键字的作用?使用场景?
      6. 1.7.6. 浅拷贝与深拷贝
      7. 1.7.7. C++类中成员初始化顺序
      8. 1.7.8. 构造过程
      9. 1.7.9. 构造函数初始化列表
      10. 1.7.10. vector 中 size() 和 capacity() 的区别
      11. 1.7.11. 定义一个空类编译器做了哪些操作
      12. 1.7.12. 强制类型转换
    8. 1.8. 内存管理
      1. 1.8.1. C 内存分配
      2. 1.8.2. C++ 内存分配:
    9. 1.9. 结构体字节对齐问题?结构体/类大小的计算?
      1. 1.9.1. 默认字节对齐
      2. 1.9.2. pragma pack(n)
      3. 1.9.3. 虚函数的大小计算
      4. 1.9.4. 联合体的大小计算
    10. 1.10. 指针和引用
      1. 1.10.1. 区别
      2. 1.10.2. 指针
      3. 1.10.3. 指针的注意点
      4. 1.10.4. 悬空指针与野指针
      5. 1.10.5. 空指针能调用类成员函数吗
      6. 1.10.6. 智能指针
    11. 1.11. 编译与优化
      1. 1.11.1. 静态链接与动态链接
    12. 1.12. 溢出,越界,泄漏
      1. 1.12.1. 溢出
      2. 1.12.2. 越界
      3. 1.12.3. 泄露
最新文章

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. C++ 八股文(一)
    1. 1.1. 多态
      1. 1.1.1. 什么是多态,有什么用
    2. 1.2. 重写、重载与隐藏的区别
      1. 1.2.1. Overload 重载
      2. 1.2.2. Override(覆盖或重写)
      3. 1.2.3. Overwrite(重写)隐藏,
      4. 1.2.4. 虚函数和纯虚函数
      5. 1.2.5. 基类为什么需要虚析构函数?
      6. 1.2.6. 构造/析构函数调用虚函数
      7. 1.2.7. 虚函数表
    3. 1.3. const 相关
    4. 1.4. 如何初始化 const 和 static 数据成员?
      1. 1.4.1. static 和 const 分别怎么用,类里面 static 和 const 可以同时修饰成员函数吗?
    5. 1.5. 对变量
      1. 1.5.1. 局部变量
      2. 1.5.2. 全局变量
    6. 1.6. 对类
      1. 1.6.1. 成员变量
      2. 1.6.2. 成员函数
    7. 1.7. 构造函数
      1. 1.7.1. 构造函数调用顺序
      2. 1.7.2. 自身构造函数顺序
      3. 1.7.3. this 指针
      4. 1.7.4. extern 关键字
      5. 1.7.5. 以下关键字的作用?使用场景?
      6. 1.7.6. 浅拷贝与深拷贝
      7. 1.7.7. C++类中成员初始化顺序
      8. 1.7.8. 构造过程
      9. 1.7.9. 构造函数初始化列表
      10. 1.7.10. vector 中 size() 和 capacity() 的区别
      11. 1.7.11. 定义一个空类编译器做了哪些操作
      12. 1.7.12. 强制类型转换
    8. 1.8. 内存管理
      1. 1.8.1. C 内存分配
      2. 1.8.2. C++ 内存分配:
    9. 1.9. 结构体字节对齐问题?结构体/类大小的计算?
      1. 1.9.1. 默认字节对齐
      2. 1.9.2. pragma pack(n)
      3. 1.9.3. 虚函数的大小计算
      4. 1.9.4. 联合体的大小计算
    10. 1.10. 指针和引用
      1. 1.10.1. 区别
      2. 1.10.2. 指针
      3. 1.10.3. 指针的注意点
      4. 1.10.4. 悬空指针与野指针
      5. 1.10.5. 空指针能调用类成员函数吗
      6. 1.10.6. 智能指针
    11. 1.11. 编译与优化
      1. 1.11.1. 静态链接与动态链接
    12. 1.12. 溢出,越界,泄漏
      1. 1.12.1. 溢出
      2. 1.12.2. 越界
      3. 1.12.3. 泄露
最新文章

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. 五万字长文总结 C/C++ 知识点
  2. 2. C/C++ 知识总结
    1. 2.1. C/C++
      1. 2.1.1. const
        1. 2.1.1.1. 作用
        2. 2.1.1.2. 使用
      2. 2.1.2. static
        1. 2.1.2.1. 作用
      3. 2.1.3. this 指针
      4. 2.1.4. inline 内联函数
        1. 2.1.4.1. 特征
        2. 2.1.4.2. 使用
        3. 2.1.4.3. 编译器对 inline 函数的处理步骤
        4. 2.1.4.4. 优缺点
        5. 2.1.4.5. 虚函数(virtual)可以是内联函数(inline)吗?
        6. 2.1.4.6. 虚函数内联使用
      5. 2.1.5. assert()
        1. 2.1.5.1. 使用
      6. 2.1.6. sizeof()
      7. 2.1.7. #pragma pack(n)
        1. 2.1.7.1. 使用
      8. 2.1.8. 位域
      9. 2.1.9. volatile
      10. 2.1.10. extern “C”
        1. 2.1.10.1. “C” 使用
      11. 2.1.11. struct 和 typedef struct
        1. 2.1.11.1. C 中
        2. 2.1.11.2. C++ 中
      12. 2.1.12. C++ 中 struct 和 class
        1. 2.1.12.1. 区别
      13. 2.1.13. union 联合
        1. 2.1.13.1. 使用
      14. 2.1.14. C 实现 C++ 类
      15. 2.1.15. explicit(显式)构造函数
        1. 2.1.15.1. explicit 使用
      16. 2.1.16. friend 友元类和友元函数
      17. 2.1.17. using
        1. 2.1.17.1. using 声明
        2. 2.1.17.2. 构造函数的 using 声明【C++11】
        3. 2.1.17.3. using 指示
        4. 2.1.17.4. 尽量少使用 using 指示 污染命名空间
        5. 2.1.17.5. using 使用
      18. 2.1.18. :: 范围解析运算符
        1. 2.1.18.1. 分类
        2. 2.1.18.2. :: 使用
      19. 2.1.19. enum 枚举类型
        1. 2.1.19.1. 限定作用域的枚举类型
        2. 2.1.19.2. 不限定作用域的枚举类型
      20. 2.1.20. decltype
        1. 2.1.20.1. 使用
      21. 2.1.21. 引用
        1. 2.1.21.1. 左值引用
        2. 2.1.21.2. 右值引用
        3. 2.1.21.3. 引用折叠
      22. 2.1.22.
      23. 2.1.23. 成员初始化列表
      24. 2.1.24. initializer_list 列表初始化【C++11】
        1. 2.1.24.1. initializer_list 使用
      25. 2.1.25. 面向对象
      26. 2.1.26. 封装
      27. 2.1.27. 继承
      28. 2.1.28. 多态
        1. 2.1.28.1. 静态多态(早绑定)
        2. 2.1.28.2. 动态多态(晚绑定)
        3. 2.1.28.3. 动态多态使用
      29. 2.1.29. 虚析构函数
        1. 2.1.29.1. 虚析构函数使用
      30. 2.1.30. 纯虚函数
      31. 2.1.31. 虚函数、纯虚函数
      32. 2.1.32. 虚函数指针、虚函数表
      33. 2.1.33. 虚继承
      34. 2.1.34. 虚继承、虚函数
      35. 2.1.35. 模板类、成员模板、虚函数
      36. 2.1.36. 抽象类、接口类、聚合类
      37. 2.1.37. 内存分配和管理
        1. 2.1.37.1. malloc、calloc、realloc、alloca
        2. 2.1.37.2. malloc、free
        3. 2.1.37.3. malloc、free 使用
        4. 2.1.37.4. new、delete
        5. 2.1.37.5. new、delete 使用
        6. 2.1.37.6. 定位 new
      38. 2.1.38. delete this 合法吗?
      39. 2.1.39. 如何定义一个只能在堆上(栈上)生成对象的类?
        1. 2.1.39.1. 只能在堆上
        2. 2.1.39.2. 只能在栈上
      40. 2.1.40. 智能指针
        1. 2.1.40.1. C++ 标准库(STL)中
        2. 2.1.40.2. C++ 98
        3. 2.1.40.3. C++ 11
          1. 2.1.40.3.1. shared_ptr
          2. 2.1.40.3.2. weak_ptr
          3. 2.1.40.3.3. unique_ptr
          4. 2.1.40.3.4. auto_ptr
          5. 2.1.40.3.5. auto_ptr 与 unique_ptr 比较
      41. 2.1.41. 强制类型转换运算符
        1. 2.1.41.1. static_cast
        2. 2.1.41.2. dynamic_cast
        3. 2.1.41.3. const_cast
        4. 2.1.41.4. reinterpret_cast
        5. 2.1.41.5. bad_cast
        6. 2.1.41.6. bad_cast 使用
      42. 2.1.42. 运行时类型信息 (RTTI)
        1. 2.1.42.1. dynamic_cast
        2. 2.1.42.2. typeid
        3. 2.1.42.3. type_info
        4. 2.1.42.4. typeid、type_info 使用
      43. 2.1.43. Effective C++
      44. 2.1.44. Google C++ Style Guide
        1. 2.1.44.1. Google C++ Style Guide 图
    2. 2.2. STL
      1. 2.2.1. STL 索引
      2. 2.2.2. STL 容器
      3. 2.2.3. STL 算法
    3. 2.3. 数据结构
      1. 2.3.1. 顺序结构
        1. 2.3.1.1. 顺序栈(Sequence Stack)
        2. 2.3.1.2. 顺序栈数据结构和图片
        3. 2.3.1.3. 队列(Sequence Queue)
        4. 2.3.1.4. 队列数据结构
          1. 2.3.1.4.1. 非循环队列
        5. 2.3.1.5. 非循环队列图片
          1. 2.3.1.5.1. 循环队列
        6. 2.3.1.6. 循环队列图片
        7. 2.3.1.7. 顺序表(Sequence List)
      2. 2.3.2. 链式结构
        1. 2.3.2.1. 链式数据结构
        2. 2.3.2.2. 链队列(Link Queue)
        3. 2.3.2.3. 链队列图片
        4. 2.3.2.4. 线性表的链式表示
          1. 2.3.2.4.1. 单链表(Link List)
        5. 2.3.2.5. 单链表图片
          1. 2.3.2.5.1. 双向链表(Du-Link-List)
        6. 2.3.2.6. 双向链表图片
          1. 2.3.2.6.1. 循环链表(Cir-Link-List)
        7. 2.3.2.7. 循环链表图片
      3. 2.3.3. 哈希表
        1. 2.3.3.1. 概念
        2. 2.3.3.2. 构造方法
        3. 2.3.3.3. 冲突处理方法
        4. 2.3.3.4. 线性探测的哈希表数据结构
        5. 2.3.3.5. 线性探测的哈希表数据结构和图片
      4. 2.3.4. 递归
        1. 2.3.4.1. 概念
        2. 2.3.4.2. 递归与分治
        3. 2.3.4.3. 递归与迭代
        4. 2.3.4.4. 广义表
          1. 2.3.4.4.1. 头尾链表存储表示
        5. 2.3.4.5. 广义表的头尾链表存储表示和图片
          1. 2.3.4.5.1. 扩展线性链表存储表示
        6. 2.3.4.6. 扩展线性链表存储表示和图片
      5. 2.3.5. 二叉树
        1. 2.3.5.1. 性质
        2. 2.3.5.2. 存储结构
        3. 2.3.5.3. 二叉树数据结构
          1. 2.3.5.3.1. 顺序存储
        4. 2.3.5.4. 二叉树顺序存储图片
          1. 2.3.5.4.1. 链式存储
        5. 2.3.5.5. 二叉树链式存储图片
        6. 2.3.5.6. 遍历方式
        7. 2.3.5.7. 分类
      6. 2.3.6. 其他树及森林
        1. 2.3.6.1. 树的存储结构
        2. 2.3.6.2. 并查集
        3. 2.3.6.3. 平衡二叉树(AVL树)
          1. 2.3.6.3.1. 性质
        4. 2.3.6.4. 平衡二叉树图片
          1. 2.3.6.4.1. 最小失衡树
        5. 2.3.6.5. 红黑树
          1. 2.3.6.5.1. 红黑树的特征是什么?
          2. 2.3.6.5.2. 调整
          3. 2.3.6.5.3. 应用
          4. 2.3.6.5.4. 红黑树、B 树、B+ 树的区别?
        6. 2.3.6.6. B 树(B-tree)、B+ 树(B+-tree)
        7. 2.3.6.7. B 树、B+ 树图片
          1. 2.3.6.7.1. 特点
          2. 2.3.6.7.2. 应用
          3. 2.3.6.7.3. 区别
          4. 2.3.6.7.4. B树的优点
          5. 2.3.6.7.5. B+树的优点
        8. 2.3.6.8. 八叉树
        9. 2.3.6.9. 八叉树图片
          1. 2.3.6.9.1. 用途
    4. 2.4. 算法
      1. 2.4.1. 排序
      2. 2.4.2. 查找
      3. 2.4.3. 图搜索算法
      4. 2.4.4. 其他算法
    5. 2.5. Problems
      1. 2.5.1. Single Problem
      2. 2.5.2. Leetcode Problems
      3. 2.5.3. 剑指 Offer
      4. 2.5.4. Cracking the Coding Interview 程序员面试金典
      5. 2.5.5. 牛客网
    6. 2.6. 操作系统
      1. 2.6.1. 进程与线程
        1. 2.6.1.1. 进程之间的通信方式以及优缺点
        2. 2.6.1.2. 线程之间的通信方式
        3. 2.6.1.3. 进程之间私有和共享的资源
        4. 2.6.1.4. 线程之间私有和共享的资源
        5. 2.6.1.5. 多进程与多线程间的对比、优劣与选择
          1. 2.6.1.5.1. 对比
          2. 2.6.1.5.2. 优劣
          3. 2.6.1.5.3. 选择
      2. 2.6.2. Linux 内核的同步方式
        1. 2.6.2.1. 原因
        2. 2.6.2.2. 同步方式
      3. 2.6.3. 死锁
        1. 2.6.3.1. 原因
        2. 2.6.3.2. 产生条件
        3. 2.6.3.3. 预防
      4. 2.6.4. 文件系统
      5. 2.6.5. 主机字节序与网络字节序
        1. 2.6.5.1. 主机字节序(CPU 字节序)
          1. 2.6.5.1.1. 概念
          2. 2.6.5.1.2. 存储方式
        2. 2.6.5.2. 大端小端图片
          1. 2.6.5.2.1. 判断大端小端
        3. 2.6.5.3. 判断大端小端
          1. 2.6.5.3.1. 各架构处理器的字节序
        4. 2.6.5.4. 网络字节序
      6. 2.6.6. 页面置换算法
        1. 2.6.6.1. 分类
        2. 2.6.6.2. 算法
    7. 2.7. 计算机网络
      1. 2.7.1. 各层作用及协议
      2. 2.7.2. 物理层
      3. 2.7.3. 数据链路层
        1. 2.7.3.1. 点对点信道
        2. 2.7.3.2. 广播信道
      4. 2.7.4. 网络层
        1. 2.7.4.1. IP 网际协议
        2. 2.7.4.2. 内部网关协议
        3. 2.7.4.3. 外部网关协议
        4. 2.7.4.4. IP多播
        5. 2.7.4.5. VPN 和 NAT
        6. 2.7.4.6. 路由表包含什么?
      5. 2.7.5. 运输层
        1. 2.7.5.1. TCP
        2. 2.7.5.2. UDP
        3. 2.7.5.3. TCP 与 UDP 的区别
        4. 2.7.5.4. TCP 黏包问题
          1. 2.7.5.4.1. 原因
          2. 2.7.5.4.2. 解决
        5. 2.7.5.5. TCP 流量控制
          1. 2.7.5.5.1. 概念
          2. 2.7.5.5.2. 方法
        6. 2.7.5.6. 利用可变窗口进行流量控制
        7. 2.7.5.7. TCP 拥塞控制
          1. 2.7.5.7.1. 概念
          2. 2.7.5.7.2. 方法
        8. 2.7.5.8. TCP 传输连接管理
          1. 2.7.5.8.1. TCP 三次握手建立连接
          2. 2.7.5.8.2. TCP 为什么要进行三次握手?
          3. 2.7.5.8.3. TCP 为什么要进行四次挥手?
      6. 2.7.6. 应用层
        1. 2.7.6.1. DNS
        2. 2.7.6.2. FTP
        3. 2.7.6.3. TELNET
        4. 2.7.6.4. WWW
          1. 2.7.6.4.1. URL
          2. 2.7.6.4.2. HTTP
          3. 2.7.6.4.3. 其他协议
    8. 2.8. 网络编程
      1. 2.8.1. Socket
        1. 2.8.1.1. Socket 中的 read()、write() 函数
          1. 2.8.1.1.1. read()
          2. 2.8.1.1.2. write()
        2. 2.8.1.2. Socket 中 TCP 的三次握手建立连接
        3. 2.8.1.3. Socket 中 TCP 的四次握手释放连接
    9. 2.9. 数据库
      1. 2.9.1. 范式
    10. 2.10. 设计模式
      1. 2.10.1. 单例模式
      2. 2.10.2. 抽象工厂模式
      3. 2.10.3. 适配器模式
      4. 2.10.4. 桥接模式
      5. 2.10.5. 观察者模式
      6. 2.10.6. 设计模式的六大原则
    11. 2.11. 链接装载库
      1. 2.11.1. 内存、栈、堆
        1. 2.11.1.1.
        2. 2.11.1.2.
        3. 2.11.1.3. “段错误(segment fault)” 或 “非法操作,该内存地址不能 read/write”
      2. 2.11.2. 编译链接
        1. 2.11.2.1. 各平台文件格式
        2. 2.11.2.2. 编译链接过程
        3. 2.11.2.3. 目标文件
          1. 2.11.2.3.1. 目标文件格式
          2. 2.11.2.3.2. 目标文件存储结构
        4. 2.11.2.4. 链接的接口————符号
      3. 2.11.3. Linux 的共享库(Shared Library)
        1. 2.11.3.1. 命名
        2. 2.11.3.2. 路径
        3. 2.11.3.3. 环境变量
        4. 2.11.3.4. so 共享库的编写
        5. 2.11.3.5. 使用 CLion 编写共享库
        6. 2.11.3.6. so 共享库的使用(被可执行项目调用)
        7. 2.11.3.7. 使用 CLion 调用共享库
      4. 2.11.4. Windows 应用程序入口函数
        1. 2.11.4.1. _tWinMain 与 _tmain 函数声明
      5. 2.11.5. Windows 的动态链接库(Dynamic-Link Library)
        1. 2.11.5.1. 用处
        2. 2.11.5.2. 注意
        3. 2.11.5.3. 加载 Windows 程序的搜索顺序
        4. 2.11.5.4. DLL 入口函数
        5. 2.11.5.5. DllMain 函数
        6. 2.11.5.6. 载入卸载库
        7. 2.11.5.7. FreeLibraryAndExitThread 函数声明
        8. 2.11.5.8. 显示地链接到导出符号
        9. 2.11.5.9. GetProcAddress 函数声明
        10. 2.11.5.10. DumpBin.exe 查看 DLL 信息
        11. 2.11.5.11. DLL 库的使用(运行时动态链接 DLL)
        12. 2.11.5.12. DLL 库的使用(运行时动态链接 DLL)
      6. 2.11.6. 运行库(Runtime Library)
        1. 2.11.6.1. 典型程序运行步骤
        2. 2.11.6.2. glibc 入口
        3. 2.11.6.3. MSVC CRT 入口
        4. 2.11.6.4. C 语言运行库(CRT)
        5. 2.11.6.5. C语言标准库(ANSI C)
    12. 2.12. 海量数据处理
    13. 2.13. 音视频
    14. 2.14. 其他
    15. 2.15. 书籍
      1. 2.15.1. 语言
      2. 2.15.2. 算法
      3. 2.15.3. 系统
      4. 2.15.4. 网络
      5. 2.15.5. 其他
最新文章

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. 五万字长文总结 C/C++ 知识点
  2. 2. C/C++ 知识总结
    1. 2.1. C/C++
      1. 2.1.1. const
        1. 2.1.1.1. 作用
        2. 2.1.1.2. 使用
      2. 2.1.2. static
        1. 2.1.2.1. 作用
      3. 2.1.3. this 指针
      4. 2.1.4. inline 内联函数
        1. 2.1.4.1. 特征
        2. 2.1.4.2. 使用
        3. 2.1.4.3. 编译器对 inline 函数的处理步骤
        4. 2.1.4.4. 优缺点
        5. 2.1.4.5. 虚函数(virtual)可以是内联函数(inline)吗?
        6. 2.1.4.6. 虚函数内联使用
      5. 2.1.5. assert()
        1. 2.1.5.1. 使用
      6. 2.1.6. sizeof()
      7. 2.1.7. #pragma pack(n)
        1. 2.1.7.1. 使用
      8. 2.1.8. 位域
      9. 2.1.9. volatile
      10. 2.1.10. extern “C”
        1. 2.1.10.1. “C” 使用
      11. 2.1.11. struct 和 typedef struct
        1. 2.1.11.1. C 中
        2. 2.1.11.2. C++ 中
      12. 2.1.12. C++ 中 struct 和 class
        1. 2.1.12.1. 区别
      13. 2.1.13. union 联合
        1. 2.1.13.1. 使用
      14. 2.1.14. C 实现 C++ 类
      15. 2.1.15. explicit(显式)构造函数
        1. 2.1.15.1. explicit 使用
      16. 2.1.16. friend 友元类和友元函数
      17. 2.1.17. using
        1. 2.1.17.1. using 声明
        2. 2.1.17.2. 构造函数的 using 声明【C++11】
        3. 2.1.17.3. using 指示
        4. 2.1.17.4. 尽量少使用 using 指示 污染命名空间
        5. 2.1.17.5. using 使用
      18. 2.1.18. :: 范围解析运算符
        1. 2.1.18.1. 分类
        2. 2.1.18.2. :: 使用
      19. 2.1.19. enum 枚举类型
        1. 2.1.19.1. 限定作用域的枚举类型
        2. 2.1.19.2. 不限定作用域的枚举类型
      20. 2.1.20. decltype
        1. 2.1.20.1. 使用
      21. 2.1.21. 引用
        1. 2.1.21.1. 左值引用
        2. 2.1.21.2. 右值引用
        3. 2.1.21.3. 引用折叠
      22. 2.1.22.
      23. 2.1.23. 成员初始化列表
      24. 2.1.24. initializer_list 列表初始化【C++11】
        1. 2.1.24.1. initializer_list 使用
      25. 2.1.25. 面向对象
      26. 2.1.26. 封装
      27. 2.1.27. 继承
      28. 2.1.28. 多态
        1. 2.1.28.1. 静态多态(早绑定)
        2. 2.1.28.2. 动态多态(晚绑定)
        3. 2.1.28.3. 动态多态使用
      29. 2.1.29. 虚析构函数
        1. 2.1.29.1. 虚析构函数使用
      30. 2.1.30. 纯虚函数
      31. 2.1.31. 虚函数、纯虚函数
      32. 2.1.32. 虚函数指针、虚函数表
      33. 2.1.33. 虚继承
      34. 2.1.34. 虚继承、虚函数
      35. 2.1.35. 模板类、成员模板、虚函数
      36. 2.1.36. 抽象类、接口类、聚合类
      37. 2.1.37. 内存分配和管理
        1. 2.1.37.1. malloc、calloc、realloc、alloca
        2. 2.1.37.2. malloc、free
        3. 2.1.37.3. malloc、free 使用
        4. 2.1.37.4. new、delete
        5. 2.1.37.5. new、delete 使用
        6. 2.1.37.6. 定位 new
      38. 2.1.38. delete this 合法吗?
      39. 2.1.39. 如何定义一个只能在堆上(栈上)生成对象的类?
        1. 2.1.39.1. 只能在堆上
        2. 2.1.39.2. 只能在栈上
      40. 2.1.40. 智能指针
        1. 2.1.40.1. C++ 标准库(STL)中
        2. 2.1.40.2. C++ 98
        3. 2.1.40.3. C++ 11
          1. 2.1.40.3.1. shared_ptr
          2. 2.1.40.3.2. weak_ptr
          3. 2.1.40.3.3. unique_ptr
          4. 2.1.40.3.4. auto_ptr
          5. 2.1.40.3.5. auto_ptr 与 unique_ptr 比较
      41. 2.1.41. 强制类型转换运算符
        1. 2.1.41.1. static_cast
        2. 2.1.41.2. dynamic_cast
        3. 2.1.41.3. const_cast
        4. 2.1.41.4. reinterpret_cast
        5. 2.1.41.5. bad_cast
        6. 2.1.41.6. bad_cast 使用
      42. 2.1.42. 运行时类型信息 (RTTI)
        1. 2.1.42.1. dynamic_cast
        2. 2.1.42.2. typeid
        3. 2.1.42.3. type_info
        4. 2.1.42.4. typeid、type_info 使用
      43. 2.1.43. Effective C++
      44. 2.1.44. Google C++ Style Guide
        1. 2.1.44.1. Google C++ Style Guide 图
    2. 2.2. STL
      1. 2.2.1. STL 索引
      2. 2.2.2. STL 容器
      3. 2.2.3. STL 算法
    3. 2.3. 数据结构
      1. 2.3.1. 顺序结构
        1. 2.3.1.1. 顺序栈(Sequence Stack)
        2. 2.3.1.2. 顺序栈数据结构和图片
        3. 2.3.1.3. 队列(Sequence Queue)
        4. 2.3.1.4. 队列数据结构
          1. 2.3.1.4.1. 非循环队列
        5. 2.3.1.5. 非循环队列图片
          1. 2.3.1.5.1. 循环队列
        6. 2.3.1.6. 循环队列图片
        7. 2.3.1.7. 顺序表(Sequence List)
      2. 2.3.2. 链式结构
        1. 2.3.2.1. 链式数据结构
        2. 2.3.2.2. 链队列(Link Queue)
        3. 2.3.2.3. 链队列图片
        4. 2.3.2.4. 线性表的链式表示
          1. 2.3.2.4.1. 单链表(Link List)
        5. 2.3.2.5. 单链表图片
          1. 2.3.2.5.1. 双向链表(Du-Link-List)
        6. 2.3.2.6. 双向链表图片
          1. 2.3.2.6.1. 循环链表(Cir-Link-List)
        7. 2.3.2.7. 循环链表图片
      3. 2.3.3. 哈希表
        1. 2.3.3.1. 概念
        2. 2.3.3.2. 构造方法
        3. 2.3.3.3. 冲突处理方法
        4. 2.3.3.4. 线性探测的哈希表数据结构
        5. 2.3.3.5. 线性探测的哈希表数据结构和图片
      4. 2.3.4. 递归
        1. 2.3.4.1. 概念
        2. 2.3.4.2. 递归与分治
        3. 2.3.4.3. 递归与迭代
        4. 2.3.4.4. 广义表
          1. 2.3.4.4.1. 头尾链表存储表示
        5. 2.3.4.5. 广义表的头尾链表存储表示和图片
          1. 2.3.4.5.1. 扩展线性链表存储表示
        6. 2.3.4.6. 扩展线性链表存储表示和图片
      5. 2.3.5. 二叉树
        1. 2.3.5.1. 性质
        2. 2.3.5.2. 存储结构
        3. 2.3.5.3. 二叉树数据结构
          1. 2.3.5.3.1. 顺序存储
        4. 2.3.5.4. 二叉树顺序存储图片
          1. 2.3.5.4.1. 链式存储
        5. 2.3.5.5. 二叉树链式存储图片
        6. 2.3.5.6. 遍历方式
        7. 2.3.5.7. 分类
      6. 2.3.6. 其他树及森林
        1. 2.3.6.1. 树的存储结构
        2. 2.3.6.2. 并查集
        3. 2.3.6.3. 平衡二叉树(AVL树)
          1. 2.3.6.3.1. 性质
        4. 2.3.6.4. 平衡二叉树图片
          1. 2.3.6.4.1. 最小失衡树
        5. 2.3.6.5. 红黑树
          1. 2.3.6.5.1. 红黑树的特征是什么?
          2. 2.3.6.5.2. 调整
          3. 2.3.6.5.3. 应用
          4. 2.3.6.5.4. 红黑树、B 树、B+ 树的区别?
        6. 2.3.6.6. B 树(B-tree)、B+ 树(B+-tree)
        7. 2.3.6.7. B 树、B+ 树图片
          1. 2.3.6.7.1. 特点
          2. 2.3.6.7.2. 应用
          3. 2.3.6.7.3. 区别
          4. 2.3.6.7.4. B树的优点
          5. 2.3.6.7.5. B+树的优点
        8. 2.3.6.8. 八叉树
        9. 2.3.6.9. 八叉树图片
          1. 2.3.6.9.1. 用途
    4. 2.4. 算法
      1. 2.4.1. 排序
      2. 2.4.2. 查找
      3. 2.4.3. 图搜索算法
      4. 2.4.4. 其他算法
    5. 2.5. Problems
      1. 2.5.1. Single Problem
      2. 2.5.2. Leetcode Problems
      3. 2.5.3. 剑指 Offer
      4. 2.5.4. Cracking the Coding Interview 程序员面试金典
      5. 2.5.5. 牛客网
    6. 2.6. 操作系统
      1. 2.6.1. 进程与线程
        1. 2.6.1.1. 进程之间的通信方式以及优缺点
        2. 2.6.1.2. 线程之间的通信方式
        3. 2.6.1.3. 进程之间私有和共享的资源
        4. 2.6.1.4. 线程之间私有和共享的资源
        5. 2.6.1.5. 多进程与多线程间的对比、优劣与选择
          1. 2.6.1.5.1. 对比
          2. 2.6.1.5.2. 优劣
          3. 2.6.1.5.3. 选择
      2. 2.6.2. Linux 内核的同步方式
        1. 2.6.2.1. 原因
        2. 2.6.2.2. 同步方式
      3. 2.6.3. 死锁
        1. 2.6.3.1. 原因
        2. 2.6.3.2. 产生条件
        3. 2.6.3.3. 预防
      4. 2.6.4. 文件系统
      5. 2.6.5. 主机字节序与网络字节序
        1. 2.6.5.1. 主机字节序(CPU 字节序)
          1. 2.6.5.1.1. 概念
          2. 2.6.5.1.2. 存储方式
        2. 2.6.5.2. 大端小端图片
          1. 2.6.5.2.1. 判断大端小端
        3. 2.6.5.3. 判断大端小端
          1. 2.6.5.3.1. 各架构处理器的字节序
        4. 2.6.5.4. 网络字节序
      6. 2.6.6. 页面置换算法
        1. 2.6.6.1. 分类
        2. 2.6.6.2. 算法
    7. 2.7. 计算机网络
      1. 2.7.1. 各层作用及协议
      2. 2.7.2. 物理层
      3. 2.7.3. 数据链路层
        1. 2.7.3.1. 点对点信道
        2. 2.7.3.2. 广播信道
      4. 2.7.4. 网络层
        1. 2.7.4.1. IP 网际协议
        2. 2.7.4.2. 内部网关协议
        3. 2.7.4.3. 外部网关协议
        4. 2.7.4.4. IP多播
        5. 2.7.4.5. VPN 和 NAT
        6. 2.7.4.6. 路由表包含什么?
      5. 2.7.5. 运输层
        1. 2.7.5.1. TCP
        2. 2.7.5.2. UDP
        3. 2.7.5.3. TCP 与 UDP 的区别
        4. 2.7.5.4. TCP 黏包问题
          1. 2.7.5.4.1. 原因
          2. 2.7.5.4.2. 解决
        5. 2.7.5.5. TCP 流量控制
          1. 2.7.5.5.1. 概念
          2. 2.7.5.5.2. 方法
        6. 2.7.5.6. 利用可变窗口进行流量控制
        7. 2.7.5.7. TCP 拥塞控制
          1. 2.7.5.7.1. 概念
          2. 2.7.5.7.2. 方法
        8. 2.7.5.8. TCP 传输连接管理
          1. 2.7.5.8.1. TCP 三次握手建立连接
          2. 2.7.5.8.2. TCP 为什么要进行三次握手?
          3. 2.7.5.8.3. TCP 为什么要进行四次挥手?
      6. 2.7.6. 应用层
        1. 2.7.6.1. DNS
        2. 2.7.6.2. FTP
        3. 2.7.6.3. TELNET
        4. 2.7.6.4. WWW
          1. 2.7.6.4.1. URL
          2. 2.7.6.4.2. HTTP
          3. 2.7.6.4.3. 其他协议
    8. 2.8. 网络编程
      1. 2.8.1. Socket
        1. 2.8.1.1. Socket 中的 read()、write() 函数
          1. 2.8.1.1.1. read()
          2. 2.8.1.1.2. write()
        2. 2.8.1.2. Socket 中 TCP 的三次握手建立连接
        3. 2.8.1.3. Socket 中 TCP 的四次握手释放连接
    9. 2.9. 数据库
      1. 2.9.1. 范式
    10. 2.10. 设计模式
      1. 2.10.1. 单例模式
      2. 2.10.2. 抽象工厂模式
      3. 2.10.3. 适配器模式
      4. 2.10.4. 桥接模式
      5. 2.10.5. 观察者模式
      6. 2.10.6. 设计模式的六大原则
    11. 2.11. 链接装载库
      1. 2.11.1. 内存、栈、堆
        1. 2.11.1.1.
        2. 2.11.1.2.
        3. 2.11.1.3. “段错误(segment fault)” 或 “非法操作,该内存地址不能 read/write”
      2. 2.11.2. 编译链接
        1. 2.11.2.1. 各平台文件格式
        2. 2.11.2.2. 编译链接过程
        3. 2.11.2.3. 目标文件
          1. 2.11.2.3.1. 目标文件格式
          2. 2.11.2.3.2. 目标文件存储结构
        4. 2.11.2.4. 链接的接口————符号
      3. 2.11.3. Linux 的共享库(Shared Library)
        1. 2.11.3.1. 命名
        2. 2.11.3.2. 路径
        3. 2.11.3.3. 环境变量
        4. 2.11.3.4. so 共享库的编写
        5. 2.11.3.5. 使用 CLion 编写共享库
        6. 2.11.3.6. so 共享库的使用(被可执行项目调用)
        7. 2.11.3.7. 使用 CLion 调用共享库
      4. 2.11.4. Windows 应用程序入口函数
        1. 2.11.4.1. _tWinMain 与 _tmain 函数声明
      5. 2.11.5. Windows 的动态链接库(Dynamic-Link Library)
        1. 2.11.5.1. 用处
        2. 2.11.5.2. 注意
        3. 2.11.5.3. 加载 Windows 程序的搜索顺序
        4. 2.11.5.4. DLL 入口函数
        5. 2.11.5.5. DllMain 函数
        6. 2.11.5.6. 载入卸载库
        7. 2.11.5.7. FreeLibraryAndExitThread 函数声明
        8. 2.11.5.8. 显示地链接到导出符号
        9. 2.11.5.9. GetProcAddress 函数声明
        10. 2.11.5.10. DumpBin.exe 查看 DLL 信息
        11. 2.11.5.11. DLL 库的使用(运行时动态链接 DLL)
        12. 2.11.5.12. DLL 库的使用(运行时动态链接 DLL)
      6. 2.11.6. 运行库(Runtime Library)
        1. 2.11.6.1. 典型程序运行步骤
        2. 2.11.6.2. glibc 入口
        3. 2.11.6.3. MSVC CRT 入口
        4. 2.11.6.4. C 语言运行库(CRT)
        5. 2.11.6.5. C语言标准库(ANSI C)
    12. 2.12. 海量数据处理
    13. 2.13. 音视频
    14. 2.14. 其他
    15. 2.15. 书籍
      1. 2.15.1. 语言
      2. 2.15.2. 算法
      3. 2.15.3. 系统
      4. 2.15.4. 网络
      5. 2.15.5. 其他
最新文章

评论
GitalkLivere

评论
GitalkLivere

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. 微服务框架
    1. 1.1. 一、SpringCloud介绍
      1. 1.1.1. 1.1 微服务架构
      2. 1.1.2. 1.2 SpringCloud介绍
    2. 1.2. 二、服务的注册与发现-Eureka
      1. 1.2.1. 2.1 引言
      2. 1.2.2. 2.2 Eureka的快速入门
        1. 1.2.2.1. 2.2.1 创建EurekaServer
        2. 1.2.2.2. 2.2.2 创建EurekaClient
        3. 1.2.2.3. 2.2.3 测试Eureka
      3. 1.2.3. 2.3 Eureka的安全性
      4. 1.2.4. 2.4 Eureka的高可用性
      5. 1.2.5. 2.5 Eureka的细节
    3. 1.3. 三、服务间的负载均衡-Robbin
      1. 1.3.1. 3.1 引言
      2. 1.3.2. 3.2 Robbin的快速入门
      3. 1.3.3. 3.3 Robbin配置负载均衡策略
    4. 1.4. 四、服务间的调用-Feign
      1. 1.4.1. 4.1 引言
      2. 1.4.2. 4.2 Feign的快速入门
      3. 1.4.3. 4.3 Feign的传递参数方式
      4. 1.4.4. 4.4 Feign的Fallback
    5. 1.5. 五、服务的隔离及熔断器-Hystrix
      1. 1.5.1. 5.1 引言
      2. 1.5.2. 5.2 降级机制实现
      3. 1.5.3. 5.3 线程隔离
      4. 1.5.4. 5.4 断路器
        1. 1.5.4.1. 5.4.1 断路器介绍
        2. 1.5.4.2. 5.4.2 配置断路器的监控界面
        3. 1.5.4.3. 5.4.3 配置断路器的属性
      5. 1.5.5. 5.5 请求缓存
        1. 1.5.5.1. 5.5.1 请求缓存的介绍
        2. 1.5.5.2. 5.5.2 请求缓存的实现
    6. 1.6. 六、服务的网关-Zuul
      1. 1.6.1. 6.1 引言
      2. 1.6.2. 6.2 Zuul的快速入门
      3. 1.6.3. 6.3 Zuul常用配置信息
        1. 1.6.3.1. 6.3.1 Zuul的监控界面
        2. 1.6.3.2. 6.3.2 忽略服务设置
        3. 1.6.3.3. 6.3.3 自定义服务配置
        4. 1.6.3.4. 6.3.4 灰度发布
      4. 1.6.4. 6.4 Zuul的过滤器执行流程
      5. 1.6.5. 6.5 Zuul过滤器入门
      6. 1.6.6. 6.6 PreFilter实现token校验
      7. 1.6.7. 6.7 Zuul的降级
      8. 1.6.8. 6.8 Zuul动态路由
    7. 1.7. 七、多语言支持-Sidecar
      1. 1.7.1. 7.1 引言
      2. 1.7.2. 7.2 Sidecar实现
    8. 1.8. 八、服务间消息传递-Stream
      1. 1.8.1. 8.1 引言
      2. 1.8.2. 8.2 Stream快速入门
      3. 1.8.3. 8.3 Stream重复消费问题
      4. 1.8.4. 8.4 Stream的消费者手动ack
    9. 1.9. 九、服务的动态配置-Config
      1. 1.9.1. 9.1 引言
      2. 1.9.2. 9.2 搭建Config-Server
      3. 1.9.3. 9.3、修改Customer连接Config
      4. 1.9.4. 9.4 实现动态配置
        1. 1.9.4.1. 9.4.1 实现原理
        2. 1.9.4.2. 9.4.2 服务连接RabbitMQ
        3. 1.9.4.3. 9.4.3 实现手动刷新
        4. 1.9.4.4. 9.4.4 内网穿透
        5. 1.9.4.5. 9.4.5 实现自动刷新配置
    10. 1.10. 十、服务的追踪-Sleuth
      1. 1.10.1. 10.1 引言
      2. 1.10.2. 10.2 Sleuth使用
      3. 1.10.3. 10.3 Zipkin的使用
      4. 1.10.4. 10.4 整合RabbitMQ
      5. 1.10.5. 10.5 Zipkin存储数据到ES
    11. 1.11. 十一、完整SpringCloud架构图
最新文章

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. 微服务框架
    1. 1.1. 一、SpringCloud介绍
      1. 1.1.1. 1.1 微服务架构
      2. 1.1.2. 1.2 SpringCloud介绍
    2. 1.2. 二、服务的注册与发现-Eureka
      1. 1.2.1. 2.1 引言
      2. 1.2.2. 2.2 Eureka的快速入门
        1. 1.2.2.1. 2.2.1 创建EurekaServer
        2. 1.2.2.2. 2.2.2 创建EurekaClient
        3. 1.2.2.3. 2.2.3 测试Eureka
      3. 1.2.3. 2.3 Eureka的安全性
      4. 1.2.4. 2.4 Eureka的高可用性
      5. 1.2.5. 2.5 Eureka的细节
    3. 1.3. 三、服务间的负载均衡-Robbin
      1. 1.3.1. 3.1 引言
      2. 1.3.2. 3.2 Robbin的快速入门
      3. 1.3.3. 3.3 Robbin配置负载均衡策略
    4. 1.4. 四、服务间的调用-Feign
      1. 1.4.1. 4.1 引言
      2. 1.4.2. 4.2 Feign的快速入门
      3. 1.4.3. 4.3 Feign的传递参数方式
      4. 1.4.4. 4.4 Feign的Fallback
    5. 1.5. 五、服务的隔离及熔断器-Hystrix
      1. 1.5.1. 5.1 引言
      2. 1.5.2. 5.2 降级机制实现
      3. 1.5.3. 5.3 线程隔离
      4. 1.5.4. 5.4 断路器
        1. 1.5.4.1. 5.4.1 断路器介绍
        2. 1.5.4.2. 5.4.2 配置断路器的监控界面
        3. 1.5.4.3. 5.4.3 配置断路器的属性
      5. 1.5.5. 5.5 请求缓存
        1. 1.5.5.1. 5.5.1 请求缓存的介绍
        2. 1.5.5.2. 5.5.2 请求缓存的实现
    6. 1.6. 六、服务的网关-Zuul
      1. 1.6.1. 6.1 引言
      2. 1.6.2. 6.2 Zuul的快速入门
      3. 1.6.3. 6.3 Zuul常用配置信息
        1. 1.6.3.1. 6.3.1 Zuul的监控界面
        2. 1.6.3.2. 6.3.2 忽略服务设置
        3. 1.6.3.3. 6.3.3 自定义服务配置
        4. 1.6.3.4. 6.3.4 灰度发布
      4. 1.6.4. 6.4 Zuul的过滤器执行流程
      5. 1.6.5. 6.5 Zuul过滤器入门
      6. 1.6.6. 6.6 PreFilter实现token校验
      7. 1.6.7. 6.7 Zuul的降级
      8. 1.6.8. 6.8 Zuul动态路由
    7. 1.7. 七、多语言支持-Sidecar
      1. 1.7.1. 7.1 引言
      2. 1.7.2. 7.2 Sidecar实现
    8. 1.8. 八、服务间消息传递-Stream
      1. 1.8.1. 8.1 引言
      2. 1.8.2. 8.2 Stream快速入门
      3. 1.8.3. 8.3 Stream重复消费问题
      4. 1.8.4. 8.4 Stream的消费者手动ack
    9. 1.9. 九、服务的动态配置-Config
      1. 1.9.1. 9.1 引言
      2. 1.9.2. 9.2 搭建Config-Server
      3. 1.9.3. 9.3、修改Customer连接Config
      4. 1.9.4. 9.4 实现动态配置
        1. 1.9.4.1. 9.4.1 实现原理
        2. 1.9.4.2. 9.4.2 服务连接RabbitMQ
        3. 1.9.4.3. 9.4.3 实现手动刷新
        4. 1.9.4.4. 9.4.4 内网穿透
        5. 1.9.4.5. 9.4.5 实现自动刷新配置
    10. 1.10. 十、服务的追踪-Sleuth
      1. 1.10.1. 10.1 引言
      2. 1.10.2. 10.2 Sleuth使用
      3. 1.10.3. 10.3 Zipkin的使用
      4. 1.10.4. 10.4 整合RabbitMQ
      5. 1.10.5. 10.5 Zipkin存储数据到ES
    11. 1.11. 十一、完整SpringCloud架构图
最新文章

评论
GitalkLivere

评论
GitalkLivere

第一次使用hexo

第一次使用仅为测试

文章作者: 逝水无痕
文章链接: https://hexo.zyjblogs.cn/posts/45609.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逝水无痕の博客

评论
GitalkLivere

第一次使用hexo

第一次使用仅为测试

文章作者: 逝水无痕
文章链接: https://hexo.zyjblogs.cn/posts/45609.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逝水无痕の博客

评论
GitalkLivere

评论
GitalkLivere

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

一起探索Cplusplus类内存分布

一起探索Cplusplus类内存分布

C++ 类中内存分布具体是怎么样,尤其是C++中含有继承、虚函数、虚拟继承以及菱形继承等等情况下。

+

一起探索C++类内存分布

一起探索C++类内存分布

C++ 类中内存分布具体是怎么样,尤其是C++中含有继承、虚函数、虚拟继承以及菱形继承等等情况下。

由于在linux下没有windows下显示直观,我们采用vs2015进行调试。


    @@ -261,7 +261,7 @@ document.addEventListener('pjax:send', () => {

    总结:通过内存分布可知,Divide1Divide2都是两个虚表,Divide中却是成了3个虚表,只有一份base;所以说:虚继承的作用是减少了对基类的重复,代价是增加了虚表指针的负担(增加了更多的需指针)

-
文章作者: 逝水无痕
文章链接: https://hexo.zyjblogs.cn/posts/97623f3c.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 逝水无痕の博客

评论
GitalkLivere

评论
GitalkLivere

评论
GitalkLivere

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. C++内存管理
    1. 1.1. 1. 内存管理
    2. 1.2. 1.1 C++内存管理详解
      1. 1.2.1. 1.1.1 内存分配方式
        1. 1.2.1.1. 1.1.1.1 分配方式简介
        2. 1.2.1.2. 1.1.1.2 明确区分堆与栈
        3. 1.2.1.3. 1.1.1.3 堆和栈究竟有什么区别?
      2. 1.2.2. 1.1.2 控制C++的内存分配
        1. 1.2.2.1. 1.1.2.1 重载全局的new和delete操作符
        2. 1.2.2.2. 1.1.2.2 为单个的类重载 new[ ]和delete[ ]
      3. 1.2.3. 1.1.3 常见的内存错误及其对策
      4. 1.2.4. 1.1.4 指针与数组的对比
        1. 1.2.4.1. 1.1.4.1 修改内容
        2. 1.2.4.2. 1.1.4.2 内容复制与比较
        3. 1.2.4.3. 1.1.4.3 计算内存容量
      5. 1.2.5. 1.1.5 指针参数是如何传递内存的?
      6. 1.2.6. 1.1.6 杜绝“野指针”
      7. 1.2.7. 1.1.7 有了malloc/free为什么还要new/delete?
      8. 1.2.8. 1.1.8 内存耗尽怎么办?
      9. 1.2.9. 1.1.9 malloc/free的使用要点
      10. 1.2.10. 1.1.10 new/delete的使用要点
    3. 1.3. 1.2 C++中的健壮指针和资源管理
      1. 1.3.1. 1.2.1 第一条规则(RAII)
      2. 1.3.2. 1.2.2 Smart Pointers
      3. 1.3.3. 1.2.3 Resource Transfer
      4. 1.3.4. 1.2.4 Strong Pointers
      5. 1.3.5. 1.2.5 Parser
      6. 1.3.6. 1.2.6 Transfer Semantics
      7. 1.3.7. 1.2.7 Strong Vectors
      8. 1.3.8. 1.2.8 Code Inspection
      9. 1.3.9. 1.2.9 共享的所有权
      10. 1.3.10. 1.2.10 所有权网络
  2. 2. 2. 内存泄漏
    1. 2.1. 2.1 C++中动态内存分配引发问题的解决方案
    2. 2.2. 2.2 如何对付内存泄漏?
    3. 2.3. 2.3浅谈C/C++内存泄漏及其检测工具
      1. 2.3.1. 2.3.1 内存泄漏的定义
      2. 2.3.2. 2.3.2 内存泄漏的发生方式
      3. 2.3.3. 2.3.3 检测内存泄漏
        1. 2.3.3.1. 2.3.3.1 VC下内存泄漏的检测方法
        2. 2.3.3.2. 2.3.3.2 使用BoundsChecker检测内存泄漏
        3. 2.3.3.3. 2.3.3.3 使用Performance Monitor检测内存泄漏
  3. 3. 3. 探讨C++内存回收
    1. 3.1. 3.1 C++内存对象大会战
      1. 3.1.1. 3.1.1 基本概念
      2. 3.1.2. 3.1.2 三种内存对象的比较
      3. 3.1.3. 3.1.3 使用栈对象的意外收获
      4. 3.1.4. 3.1.4 禁止产生堆对象
      5. 3.1.5. 3.1.5 禁止产生栈对象
    2. 3.2. 3.2 浅议C++ 中的垃圾回收方法
最新文章

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
目录
  1. 1. C++内存管理
    1. 1.1. 1. 内存管理
    2. 1.2. 1.1 C++内存管理详解
      1. 1.2.1. 1.1.1 内存分配方式
        1. 1.2.1.1. 1.1.1.1 分配方式简介
        2. 1.2.1.2. 1.1.1.2 明确区分堆与栈
        3. 1.2.1.3. 1.1.1.3 堆和栈究竟有什么区别?
      2. 1.2.2. 1.1.2 控制C++的内存分配
        1. 1.2.2.1. 1.1.2.1 重载全局的new和delete操作符
        2. 1.2.2.2. 1.1.2.2 为单个的类重载 new[ ]和delete[ ]
      3. 1.2.3. 1.1.3 常见的内存错误及其对策
      4. 1.2.4. 1.1.4 指针与数组的对比
        1. 1.2.4.1. 1.1.4.1 修改内容
        2. 1.2.4.2. 1.1.4.2 内容复制与比较
        3. 1.2.4.3. 1.1.4.3 计算内存容量
      5. 1.2.5. 1.1.5 指针参数是如何传递内存的?
      6. 1.2.6. 1.1.6 杜绝“野指针”
      7. 1.2.7. 1.1.7 有了malloc/free为什么还要new/delete?
      8. 1.2.8. 1.1.8 内存耗尽怎么办?
      9. 1.2.9. 1.1.9 malloc/free的使用要点
      10. 1.2.10. 1.1.10 new/delete的使用要点
    3. 1.3. 1.2 C++中的健壮指针和资源管理
      1. 1.3.1. 1.2.1 第一条规则(RAII)
      2. 1.3.2. 1.2.2 Smart Pointers
      3. 1.3.3. 1.2.3 Resource Transfer
      4. 1.3.4. 1.2.4 Strong Pointers
      5. 1.3.5. 1.2.5 Parser
      6. 1.3.6. 1.2.6 Transfer Semantics
      7. 1.3.7. 1.2.7 Strong Vectors
      8. 1.3.8. 1.2.8 Code Inspection
      9. 1.3.9. 1.2.9 共享的所有权
      10. 1.3.10. 1.2.10 所有权网络
  2. 2. 2. 内存泄漏
    1. 2.1. 2.1 C++中动态内存分配引发问题的解决方案
    2. 2.2. 2.2 如何对付内存泄漏?
    3. 2.3. 2.3浅谈C/C++内存泄漏及其检测工具
      1. 2.3.1. 2.3.1 内存泄漏的定义
      2. 2.3.2. 2.3.2 内存泄漏的发生方式
      3. 2.3.3. 2.3.3 检测内存泄漏
        1. 2.3.3.1. 2.3.3.1 VC下内存泄漏的检测方法
        2. 2.3.3.2. 2.3.3.2 使用BoundsChecker检测内存泄漏
        3. 2.3.3.3. 2.3.3.3 使用Performance Monitor检测内存泄漏
  3. 3. 3. 探讨C++内存回收
    1. 3.1. 3.1 C++内存对象大会战
      1. 3.1.1. 3.1.1 基本概念
      2. 3.1.2. 3.1.2 三种内存对象的比较
      3. 3.1.3. 3.1.3 使用栈对象的意外收获
      4. 3.1.4. 3.1.4 禁止产生堆对象
      5. 3.1.5. 3.1.5 禁止产生栈对象
    2. 3.2. 3.2 浅议C++ 中的垃圾回收方法
最新文章

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页

评论
GitalkLivere
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
avatar
逝水无痕
给时光以生命,给岁月以文明
GitHub主页
最新文章
+
一起探索Cplusplus类内存分布