问题目录1. 存储过程与函数的区别2. primary key约束 与 unique 约束的区别3. 简述查询优化的步骤4. 数据库中常用的四种文件组织形式5. 为什么要对关系代数表达式进行优化6.文件系统为什么会存在数据冗余?数据冗余会导致哪两类问题?7. 索引的左右?维护索引的代价8. WHERE 和 HAVING 的基本区别
文章目录一、前言二、客户/服务器网络编程简介三、UDP3.1 端口号3.2 套接字3.3 UDP分组3.4 小结四、TCP4.1 TCP工作原理4.2 绑定接口4.3 死锁4.4 小结五、套接字名与DNS5.1 套接字方法和指标5.2 现代地址解析5.2.1 使用getadd
1. 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?全局变量是整个程序都可访问的变量,谁都可以访问,生存期在整个程序从运行到结束(在程序结束时所占内存释放);而局部变量存在于模块(子程序,函数)中,只有所在模块可以访问,其他模块不可直接访问,模块结束(函数调用完毕),局部变量消失,所占据的内存释放。操作系统和编译器,可能是通过内存分配的位置来知道的,全局变量分配在全局数据段并且在程序开始运行的时候被加载。局部变量则分配在堆栈里面;2. 简述C、C++程序编译的内存分配
文章目录1. typedef 和define 有什么区别2. 指针常量与常量指针区别3. 简述队列和栈的异同4. 设置地址为0x67a9 的整型变量的值为0xaa665.C语言的结构体和C++的有什么区别1. typedef 和define 有什么区别用法不同:typedef 用来定义一种数据类型的别名,增强程序的可读性。define 主要用来定义 常量,以及书写复杂使用频繁的宏。执行时间不同:typedef 是编译过程的一部分,有类型检查的功能。define 是宏定义,是预编译的部分,其发生
文章目录1.C语言的 malloc 和 C++ 中的 new 有什么区别2. 写一个 “标准”宏MIN3. 介绍 volatile 及其作用4. 一个参数可以既是const又是volatile吗5. a 和&a 有什么区别1.C语言的 malloc 和 C++ 中的 new 有什么区别new 、delete 是操作符,可以重载,只能在C++ 中使用;malloc、free 是函数,可以覆盖,C、C++ 中都可以使用;new 可以调用对象的构造函数,对应的delete 调用相应的析构函数;m
文章目录一、C和C++的区别是什么?二、关键字static、const、extern作用三、sizeof和strlen的区别四、指针和引用的区别五 、指针数组、数组指针、函数指针 一、C和C++的区别是什么?C是面向过程的语言,C++是在C语言的基础上开发的一种面向对象编程语言,应用广泛。 C中函数不能进行重载,C++函数可以重载 C++在C的基础上增添类,
文章目录1. 如何避免“野指针”2. 句柄和指针的区别和联系是什么?3. new/delete与malloc/free的区别是什么4. 说一说extern“C”5. C++中类成员的访问权限 1. 如何避免“野指针”指针变量声明时没有被初始化。解决办法:指针声明时初始化,可以是具体的地址值,也可让它指向NULL。指针p被free或者delete之后,没有置为
文章目录一. 什么是右值引用,跟左值又有什么区别?二. 面向对象的三大特征三. c++中四种cast转换四、拷贝构造函数和赋值运算符的认识五、 对虚函数和多态的理解 一. 什么是右值引用,跟左值又有什么区别?左 值 和 右 值 的 概 念 : 左值:能取地址,或者具名对象,表达式结束后依然存在的持久对象; 右值:不能取地址,匿名对象,表达式结束后就不再存在的
11
前言
多线程程序、进程、线程程序:完成特定任务、用某种语言编写的一组指令的结合,一段静态的代码,静态对象;进程:程序的一次执行过程,即正在执行的程序;线程:进程可细化为线程,是一个程序内部的一条执行路径;进程作为资源分配的单位,线程作为调度和执行的单位,有独立的运行站和程序计数器PC,线程开销小;方法区和堆是一个进程一份,线程共享;单核CPU和多核CPU:并发:一个CPU在一段时间内执行多个任务;并行:多个CPU同时执行多个任务;多线程:①提高应用程序响应,增强用户体验;②提
文章目录1. 缓存行 Cache line2. 缓存一致性协议 & 伪共享3. 为什么不加volatile?4. 编程先可用再调优5. disruptor & CAS等待1. 缓存行 Cache line先看一个实验: 可以看出,class T里面目前就一个成员变量 x ,所以 arr[0] 和 arr[1] 肯定是相邻的16个字节(一个long变量 8 个字节);缓存行即 CPU 一次性最少把内存中的一行数据存入缓存中,一行一般是 64 个字节,所以这里 arr[0] 和 arr
文章目录1 变量的声明和定义有什么区别?2 简述#ifdef、#else、#endif和#ifndef的作用3 结构体可以直接赋值吗?4 sizeof 和strlen 的区别5 C 语言的关键字 static 和 C++ 的关键字 static 有什么区别1 变量的声明和定义有什么区别?为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只能在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是
文章目录1. 重写、重载和隐藏2. 链表和数组有什么区别3. vector的底层原理4. vector的reserve和resize5.vector迭代器失效的情况1. 重写、重载和隐藏重写所谓重写,就是在继承中,子类重新定义父类的方法,这里需要注意的是:必须在有继承关系的类中重写;子类重写的方法名和参数列表必须与父类的方法名和参数列表一致;父类方法用 virtual 修饰;子类方法用 override 修饰;重写一般用于接口实现和继承类的方法改写;不管访问父类还是子类的方法,都是调用的
文章目录1. 正确释放vector的内存(clear(), swap(), shrink_to_fit())2. list的底层原理3. 什么情况下用vector,什么情况下用list,什么情况下用deque4. priority_queue的底层原理5. map 、set、multiset、multimap的底层原理1. 正确释放vector的内存(clear(), swap(), shrink_to_fit())vec.clear():清空内容,但是不释放内存。vector().swap(vec
文章目录1. 什么是并发编程的可见性2. 如何解决并发线程的可见性问题3. 四核八线程是什么意思并发编程三大特性:可见性有序性原子性1. 什么是并发编程的可见性问题描述:对于这一段程序,我的线程要做的事情是:1、打印m start;2、只要外部变量running为true,我就会陷入死循环,永远也输出不了 m end!;我的主线程要做的事:1、创建一个线程并让他启动该方法;2、然后让它睡一秒钟;3、置running为false,观察是否会输出m end!结果是没输出m end!为什么
@{1. 为何map和set的插入删除效率比其他序列容器高,为何map和set每次Insert之后,以前保存的iterator不会失效?因为不需要内存拷贝和内存移动;因为插入操作只是结点指针换来换去,结点内存没有改变。而iterator就像指向结点的指针,内存没变,指向内存的指针也不会变。2. 当数据元素增多时(从10000到20000),map的set的查找速度会怎样变化?RB-TREE用二分查找法,时间复杂度为logn,所以从10000增到20000时,查找次数从log10000=14次到
1. 什么是垃圾new 出来 最后不用了并且没有被回收的那块内存 就是垃圾;C、C++让用户自己回收,java、python、js等带有垃圾收集器,Golang也有;C: malloc freeC++:new deletenew 出来内存不及时回收就会导致内存泄漏,泄露多了就会容易造成内存溢出;不用管回收,又没有垃圾回收器帮我回收,没有严重停顿——只有 Rust;把钱放在一边,不功利性地学习,钱就来了垃圾:一个对象没有引用指向它,那它就是垃圾;2. 检测/识别垃圾引用计数法(Ref
前言学习C++网络编程多线程编程的目的:巩固C++;由于C++大多用于服务器,因此网络和多线程是进入大厂腾讯的必走之路;巩固计算机网络和多线程的知识,方便之后Java的系统学习; 一、网络编程基础知识 1.1 套接字Q:计算机之间如何通信? 算机之间的通信约定为一种使用socket(套接字)的方式,比如: Web 服务器和浏览器,浏览器获取用户输入的URL,向服务器发起请求,服务器分析接收到
C++11 constexpr和const的区别详解 constexpr 是 C++ 11 标准新添加的关键字,在此之前(C++ 98/03标准)只有 const 关键字,其在实际使用中经常会表现出两种不同的语义; const并不能代表“常量”,它仅仅是对变量的一个修饰,告诉编译器这个变量只能被初始化,且不能被直接修改(实际上可以通过堆栈溢出等方式修改)。而这个变量的值,可以在运行时也可以在编译时指定。 constexpr可以用来修饰变量、函数、构造函数。一旦以上任何元素被constexpr修饰
目录三次握手和四次挥手TCP 如何保证可靠传输CRC 循环校验的算法如何使用 UDP 实现可靠传输HTTPs 与 HTTPHTTP连接管理HTTPS 与 HTTP的区别HTTPS 的原理,客户端为什么信任第三方证书HTTP 方法HTTP 请求/响应的步骤:HTTP请求消息ResponseHTTP 异常状态码
一、二分查找使用条件:有序数组+查找目标元素;复杂度:O(log n);优化:实际使用求中间mid索引建议用这种方法:int mid = left + (right-left)/2 可以防止left+right溢出(超出整数范围)
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号