- 博客(8)
- 收藏
- 关注
原创 【C++】红黑树
红黑树的引入AVL树是一棵绝对平衡的二叉搜索树,它要求每个节点的左右子树高度差的绝对值都不超过1,这样可以保证查询时高效的时间复杂度log(N)。但是如果要对AVL树做一些结构修改的操作,性能非常低下: 插入时要维护绝对平衡,旋转的次数比较多,更差的是在删除时,有可能一直要让旋转持续到根的位置。 因此:如果需要一种查询高效且有序的数据结构,而且数据的个数为静态的(即不会改变),可以考虑AV...
2019-06-15 10:16:16 234
原创 【C++】C++的类型转换
C语言的类型转换C语言的类型转换分为隐式类型的转换和强制类型的转换。 隐式类型转换:(适用于相近类型的转换)int main(){ int i = 10; double d = 10.111; i = d;//发生了隐式类型转换 int n = 10; size_t pos = 0; while (n-- >= pos)//由于隐式类型的转换,n的类型被转换成了s...
2019-06-13 10:32:18 294 3
原创 【C++】shared_ptr线程安全问题和循环引用问题
看下面的代码我们就会发现shared_ptr在多线程的情况下会出问题:void test_multi_thread_copy(yan::shared_ptr<int>& sp,size_t n)//把智能指针拷贝n次{ for (size_t i = 0; i < n; i++) { yan::shared_ptr<int> copy(sp)...
2019-06-12 15:06:59 942
原创 【C++】智能指针
为什么需要智能指针?首先看一段代码:void test(){ int n; cin >> n; int* p1 = new int; int* p2 = new int[n];//如果n很大时或者内存不足时,申请内存失败,就会抛异常结束,但是此时p1还没有释放 delete p1; delete[] p2;}int main(){ test(); ...
2019-06-11 22:14:12 151
原创 【总结】进程和线程的区别
线程和进程的区别?1.进程是承担分配系统资源的实体,线程是cpu调度的基本单位。2.线程是在进程内部运行的一种执行流,一个进程里面有多个线程。3.线程不能进行程序替换,因为一旦替换,整个进程的代码和数据就都会被替换,这可能会导致进程内部其它线程直接崩溃。4.线程和进程不一样,进程有父进程的概念,但在线程里面,所有的线程都是对等关系。5.线程不能调用exit,exit是进程调用的,线程一...
2019-06-10 20:19:41 204
原创 【Linux】Linux下常见命令-----------top命令
top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。top命令是用来查看系统性能的工具,能够实时显示各个进程的状况,包括进程ID、内存占用率、CPU占用率等。在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 ...
2019-06-08 16:04:36 101
原创 【Linux】Linux下常见命令 --------查找文件命令
文件内容包含指定字符串的命令find . | xargs grep string //查找当前目录下文件内容包含字符串string的文件grep命令用于查找文件里符合条件的字符串,grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。find查询文件名包含指定字符串find . -name '*string*' //查找当前目录下文件名包...
2019-06-06 11:15:36 123
原创 【面筋】京东/网易
【京东一面】测试开发1.说一下tcp三次握手,四次挥手?2.http1.0和1.1有什么区别3.top命令有什么作用·?4.loadaverage呢?5给定一个场景,写一个测试用例?6.tcp和udp的应用场景?【网易一面】测试开发1.线程和进程的区别?2.关于测试,有了解过哪些?3.说一下并发的概念?4.说一下,什么是缓存?5.微信发送语音的测试用...
2019-06-06 09:21:04 143
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人