一缕阳光的博客

在通向成功的道路上勇往直前

函数局部变量和函数的参数在栈中的布局

#include <stdio.h> #include <iostream> using namespace std; void func(int p1, int p2, int p3) { int a = p1; int...

2019-04-14 16:49:22

阅读数 41

评论数 0

红黑树相关的信息

转载:https://www.cnblogs.com/wuchanming/p/4444961.html 红黑树相关的知识点,提高自己和面试应该用的到 1.stl中的set底层用的什么数据结构? 2.红黑树的数据结构怎么定义的? 3.红黑树有哪些性质? 4.红黑树的各种操作的时间复杂度...

2019-04-04 18:34:37

阅读数 31

评论数 0

std::vector中resize()和reserve()区别

在STL容器中vector用的还是比较多的,但是在使用时,会对resize()和reserve()的使用产生迷惑,现在就对这一情况做个对比: resize():改变的是size()与capacity()的大小 (1)、比原来的变小之后,后面的会被截断 (2)、比原来的变大之后,后面的会被填充...

2019-03-22 15:08:50

阅读数 18

评论数 0

std::string的resize()与reserve()的区别

std::string的resize()与reserve()的区别: resize():改变的是size()与capacity()的大小 (1)、比原来的变小之后,后面的会被截断 (2)、比原来的变大之后,后面的会被填充新的东西,不同的编译器可能会不同 reserve():改变的只是cap...

2019-03-21 13:46:16

阅读数 21

评论数 0

理解zookeeper选举机制

转载:https://www.cnblogs.com/shuaiandjun/p/9383655.html 一、zookeeper集群 配置多个实例共同构成一个集群对外提供服务以达到水平扩展的目的,每个服务器上的数据是相同的,每一个服务器均可以对外提供读和写的服务,这点和redis是相同的,即...

2019-03-20 16:34:33

阅读数 63

评论数 0

boost::stable_vector简单解析

由于vector底层实现的机制是一个动态数组,因此使用std::vector<T>时,如果海量数据量时,会导致vector底层的数组很大很大,这样就会导致database很快就会出现内存不足而导致系统停止运行或卡住,这时就要考虑是否用其他的容器替换vec...

2019-03-15 18:17:30

阅读数 52

评论数 0

Tcmalloc

Tcmalloc Ptmalloc在性能上还是存在一些问题的,比如不同分配区(arena)的内存不能交替使用,比如每个内存块分配都要浪费8字节内存等等,所以一般倾向于使用第三方的malloc。 Tcmalloc是Google gperftools里的组件之一。全名是 thread cache ...

2019-02-22 11:33:47

阅读数 65

评论数 0

ptmalloc,tcmalloc和jemalloc内存分配策略研究

转载:https://cloud.tencent.com/developer/article/1173720   操作系统内存布局 各种malloc的内存分配管理方式离不开操作系统的内存布局策略。 32位经典内存布局 32位系统下经典内存布局如上,程序起始的1GB地址为内核空间,接下...

2019-02-22 11:24:12

阅读数 32

评论数 0

linux中fork()函数详解

原文地址:http://blog.csdn.net/jason314/article/details/5640969  一、fork入门知识      一个进程,包括代码、数据和分配给进程的资源。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程, 也就是两个进程可以做完全相同...

2019-02-18 12:06:05

阅读数 36

评论数 0

linux下修改max_user_processes和open_file的最大值

从事分布式服务器开发工作的都会遇到,linux下open_file的值默认是1024;max user processes的值默认是4096,在实际用于中,这两个值严重不足,常常需要调整这两个值。默认配置如下:   可以通过以下两种方式修改: 1、临时修改 sudo sh -c &am...

2019-02-14 15:36:42

阅读数 75

评论数 0

一种简单的LRU cache设计 C++

最近在工作中需要用到LRU cache用作缓存来提高性能,经过查阅各种资料,了解了其运行的机制,如下: LRU cache可以用于在内存中保持当前的热点数据,下面实现一个有大小限制的lru cache,相关如下:     1. 模板化;     2. 利用std::unordered_map...

2019-01-25 11:46:28

阅读数 79

评论数 1

C++11:右值引用和转移赋值

1、左值与右值的区别: 左值:能别赋值的值;能取到地址的值,用&能取到地址,具有持久性; 右值:临时变量;不能用&取到地址;只是字面常量值 2、右值引用 一般用的是左值引用,用&标识 右值引用通过&a...

2019-01-20 15:18:10

阅读数 68

评论数 0

不理解Zookeeper一致性原理,谈何异地多活改造

转载:http://developer.51cto.com/art/201805/574334.htm Zookeeper 是最终一致性的,由于多副本,以及保证大多数成功的 Zab 协议,当一个客户端进程写入一个新值,另一个客户端进程不能保证马上就会读到,但能保证最终会读到这个值。 Zooke...

2019-01-09 14:25:24

阅读数 95

评论数 0

STL容器之deque

双端队列;序列式容器(deque/vector);底层分段连续 支持从双端进行插入和删除; 综合了vector和list的优点; 插入、删除、查找的平均时间复杂度都是O(1) 部分deque的操作如下: #include <stdlib.h> ...

2019-01-08 16:53:57

阅读数 40

评论数 0

linux 性能分析工具——perf

最近需要对linux下的开发的数据库应用程序进行性能调试,找到了该篇文章,保存下来为了以后便于查找,这篇是转载的perf文章,后续还有vtune相关的文章。 转载:https://blog.csdn.net/u014608280/article/details/80265718 Perf 简介...

2019-01-08 09:23:43

阅读数 90

评论数 0

Hadoop之Shell命令

hadoop的shell命令与linux下的命令类似,一般要在命名了的前面加-, 例如:hadoop fs -ls /....... 具体如下: FS Shell 调用文件系统(FS)Shell命令应使用 bin/hadoop fs <args>...

2019-01-07 11:23:53

阅读数 38

评论数 0

C++ int转string以及源码

今天遇到一个int类型数据转换为string,查了资料在c++11标准中增加了全局函数std::to_string来实现该功能: string to_string (int val); string to_string (long val); string to_string (long l...

2018-12-26 14:45:08

阅读数 56

评论数 0

bool与string互转

今天在工作中遇到了将string转换成bool类型数据,查阅了工具书解决了问题,现将注意要点总结如下: 增加头文件:#include <sstream>   代码如下: 在codeblocks软件上测试结果如下: 使用者需要根据自己的实...

2018-12-24 15:13:54

阅读数 599

评论数 0

模板函数与特化函数

本文转自:https://www.cnblogs.com/dracohan/p/3401660.html  转来收藏以便查阅,感谢原作者 今天在写代码时,遇到了模板和特化,在网上找了资料后问题呗一一解决,转载此文用于以后查阅,感谢原创者。其中增加了我自己的总结: 特化函数与模板函数的区别: ...

2018-12-24 14:33:06

阅读数 158

评论数 0

C++中的定位放置new(placement new)

转载:https://www.cnblogs.com/weekbo/p/8533368.html 今天在使用new时,需要使用特定位置的一块内存,因此查了资料,发现该文章有帮助就现转载做一个备份。 一般来说,使用new申请空间时,是从系统的“堆”(heap)中分配空间。申请所得的空间的位置时根...

2018-12-17 15:53:41

阅读数 58

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭