- 博客(81)
- 资源 (2)
- 收藏
- 关注
原创 GoogleBenchmark安装
GitHub - google/benchmark: A microbenchmark support library
2023-06-18 16:02:31
230
原创 树相关算法
1、输出二叉树的所有路径(从根到所有叶子节点)【回溯】 void getAllPath(TreeNode* root, std::vector<std::vector<int>>& all_paths) { static std::vector<int> path; // 这里是static的 if (nullptr == root) { return; } path.push_back(root-&g
2021-12-18 18:59:53
600
原创 编译相关知识点记录
1. .cpp; .h和编译的关系在编译过程中,编译器只能看到当前.cpp的实现,所以如果当前.cpp用到外部函数/类的时候,需要提前声明但是如果 情况一:a.cpp用到了 b.cpp中的100个函数,用到了c.cpp中的300个函数,那么把声明写在.cpp前面也太多了 情况二: 如果b.cpp中的20个函数被其他100个.cpp用到,一旦b.cpp中被用到的函数名修改了,难道要修改其他的100个.cpp的声明吗?这时候,头文件.h的作用就显示出来了,直接include b...
2021-06-22 21:26:10
105
原创 线程池学习
1.参考https://github.com/philipphenkel/threadpool/tree/a7b3e058e3416c1cb819b70948274367c80bb2e3
2021-06-13 18:46:32
106
原创 Zookeeper学习记录
Last.出错解决WARN No appenders could be found for logger (org.apache.zookeeper.ZooKeeper).https://www.cnblogs.com/telwanggs/p/10855194.html
2021-04-11 21:46:46
107
原创 Maven学习笔记
Maven学习资源:https://www.bilibili.com/video/BV1dp4y1Q7Hf?p=1一、 简介定位:项目构建工具功能管理jar文件;自动下载jar文件及其文档,源代码管理jar直接的依赖,自动下载依赖管理jar版本编译程序,.java到.class打包文件,形成jar文件或者war文件部署项目构建面向过程的,即完成代码的 编译,测试,打包,部署等等maven支持的构建包括清理,把之前项目编译的内容删
2021-04-11 19:57:40
111
原创 glog编译报错解决
1.编译命令g++ type_info.cc -o type_info -std=c++11 -lglog2.报错信息/usr/local/lib/libgflags.so.2.2: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'/usr/local/lib/libgflags.so.2.2: undefined reference to `std::__throw_out_of_range_fmt(
2021-02-02 20:58:59
2381
原创 cppjson使用 记录
1.GitHubhttps://github.com/open-source-parsers/jsoncpp2.官方文档http://jsoncpp.sourceforge.net/class_json_1_1_value.html3.记录void cppJsonTest() { Json::Value null_value; // null Json::Value arr_value(Json::arrayValue); // [] Json::Value
2020-12-10 21:08:33
256
原创 http 详细学习记录
1.通过google浏览器查看http请求中的请求行;请求头https://www.cnblogs.com/loberty/p/11990576.html2.不同方法对应的request和response格式2.1 GET 方法
2020-12-07 21:37:50
214
原创 带模板参数函数指针_作为_函数入参
#include "boost/algorithm/string.hpp"#include <functional>#include <iostream>#include <string>#include <unordered_map>#include <unordered_set>// template <typename DstType>// int (*Handler)(const char*, size_t, .
2020-11-24 10:53:19
480
原创 集线器 交换机 路由器介绍
一、集线器 1、集线器起到了一个将网线集结起来的作用,实现最初级的网络互通。 2、集线器是通过网线直接传送数据的,工作在物理层。 3、集线器的主要功能以扩大网络的传输距离,是中继器的一种形式,区别在于集线器能够提供多端口服务,也称为多口中继器。 4、由于它在网络中处于一种“中心”位置,因此集线器也叫做“HUB” 5、(原理)集线器的工作原理很简单,比如有一个具备8个端口的集线器,共连接了8台电脑。集线器处于网络的“中心”,通过集线器对信号进行转发,8台电脑之间可以互...
2020-11-05 21:48:09
929
原创 网关是啥
本质:网关实质上是一个网络通向其他网络的IP地址1、网关又称协议转换器,实现网络间的相互连接,是复杂的网络互连设备2、从一个网络向另一个网络发送信息,必须经过网关3、|||本质是||| 网关实质上是一个网络通向其他网络的IP地址4、如果网络A中的主机发现数据包的目的主机不在本地网络中,就把数据包转发给它自己的网关,再由网关转发给网络B的网关,网络B的网关再转发给网络B的某个主机5、只有设置好网关的IP地址,TCP/IP协议才能实现不同网络之间的相互通信6、网关的IP地址是具有路由功能的设备的I
2020-11-03 21:57:30
523
原创 Cookie和Session讲解
一、cookie(存在客户端)服务端为了记录用户状态,会在返回给浏览器的response中加入cookie,浏览器会保存cookie.当浏览器再请求服务端时,会把cookie带上。 服务器还可以根据需要修改Cookie的内容 Cookie具有不可跨域名性 (google和baidu之间不互通)。由浏览器进行管理,通过域名进行区分 Cookie有些属性可以设置(失效时间) cookie失效分为2种: a.设置过期时间失效(只要设置了过期时间cookie就会存储在硬盘里面) ...
2020-11-03 21:21:54
186
原创 buffer和cache的区别
https://www.cnblogs.com/M18-BlankBox/p/5326484.html1.buffer和cache都是为了解决互访的两种设备存在速率差异,使磁盘的IO的读写性能或cpu更加高效,减少进程间通信等待的时间2.buffer:缓冲区-用于存储速度不同步的设备或优先级不同的设备之间传输数据,通过buffer可以减少进程间通信需要等待的时间,当存储速度快的设备与存储速度慢的设备进行通信时,存储快的设备先把数据缓存到buffer上,等到系统统一把buffer上的...
2020-11-03 20:48:53
302
原创 C++异常记录
1.terminate called without an active exception原因:主线程结束,对象资源释放,导致子线程拿到非法资源解决办法:主线程join等待子线程2.basic_string::_S_create异常如下代码导致std::vector<std::string> tmp_vec_set;for (int i = 0; i < 800; ++i) { tmp_vec_set[0] += ("dcsaasdasdcrwq...
2020-10-24 16:59:37
630
原创 为什么只有指针能够完成多态
本质是:对象中指向VirtualTable的指针是否发生变化VirtualTable是在编一阶段生成的,该指针初始化时指向对象所实现的类的VirtualTable。Base基类,Derived派生类void fun(Base a); 将Derived b传入时,首先发生了b的向上转型,然后发生了值拷贝,vptr发生了改变,多态失败。void fun(Base* a) 将Derived * b传入时,发生b的向上转型和拷贝,但是地址变量的转型和拷贝不改变vptr的指向,vptr指向得以保留
2020-09-29 14:30:57
231
1
原创 rapidJson使用
1.官方文档:http://rapidjson.org/zh-cn/md_doc_tutorial_8zh-cn.html#CreateString2.添加元素rapidjson::Document document; rapidjson::Document::AllocatorType& alloc = document.GetAllocator(); rapidjson::Value json_normal(rapidjson::Type::kObjectType
2020-09-27 17:04:52
638
原创 idea 配置jdk & maven
1.jdk配置&下载https://blog.csdn.net/weixin_44084189/article/details/989667872.maven下载 &配置https://www.cnblogs.com/telwanggs/p/10820701.html
2020-07-26 18:17:00
157
原创 gflags
1.背景介绍 2.使用方法 (1)支持的数据类型 (2)使用方式 (3)flags导入方式 (4)gflags参数加载 (5)gflags参数修改 (6)一些特殊的gflags参数 (7)补充说明 3.gflags在搜索系统中的应用 1.gflags加载 2.应用 1.背景介绍google开源的gflags是一套命令行参数解析工具,比getopt功能更强大,使用起来更加方便,gflags支持从命令行参数、环境变量以及配置文件读取参数。同时,可以在单个源代...
2020-07-16 19:18:25
407
原创 C中的#和##
#是在宏定义中将参数进行字符串化的预处理特征##是连接符https://www.cnblogs.com/castor-xu/p/12822802.html
2020-07-04 19:56:09
210
原创 Linux共享库的搜索路径先后顺序
1、编译目标代码时指定的动态库搜索路径:在编译的时候指定-Wl,-rpath=路径2、环境变量LD_LIBRARY_PATH指定的动态库搜索路径3、配置文件/etc/ld.so.conf中指定的动态库搜索路径4、默认的动态库搜索路径/lib5、默认的动态库搜索路径 /usr/libLD_LIBRARY_PATH的导入可以放在/etc/profile里# 例exportLD_LIBRARY_PATH="/usr/local/lib"...
2020-05-31 10:36:27
364
原创 boost::scope_lock,boost::shared_lock,boost::unique_lock
1.boost::scope_lock严格基于作用域(scope-based)的锁管理类模板,构造时是否加锁是可选的(不加锁时假定当前线程已经获得锁的所有权),析构时自动释放锁,所有权不可转移,对象生存期内不允许手动加锁和释放锁2.boost::shared_lock,boost::unique_lock shared_lock是read lock。被锁后仍允许其他线程执行同样被shared_lock的代码。这是一般做读操作时的需要。 unique_lock是writelock。被...
2020-05-18 21:57:00
551
原创 protobuf3安装及使用(报错解决)
1.安装下载地址 https://github.com/protocolbuffers/protobuf/releases (我下载的是all版本 tar.gz)tar zvxf ******.tar.gzcd protobuf-****** ./configure –prefix=/usr/local/ sudo make #编译时间很长sudo make checksudo make install2.测试是否可用可参考https://blog.cs..
2020-05-15 00:16:53
1700
原创 代码问题检查工具
1.静态检查工具https://www.cnblogs.com/wanhuan/p/5764306.htmlcppcheck 安装https://blog.csdn.net/u012053377/article/details/81209816 使用2.动态检查工具Linux下内存检测工具:asanhttp://www.cppblog.com/markqian86/archiv...
2020-05-06 21:20:16
475
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人