
杂
sdau_blue
念念不忘,必有回响。驰而不息,功不唐捐。
展开
-
数据库锁机制
复习锁机制看到了很有趣的文章,就转载了:https://www.cnblogs.com/caicz/p/11009474.html目录1.什么是锁?2.锁有哪几种分类?3.讲讲乐观锁悲观锁吧4.mvcc是咋回事?5.具体mvcc机制有什么?6.说到事务了,聊聊事务7.再说说独占锁,共享锁吧8.读写锁的机制是什么呢?(佯攻)9.内存模型 还有哪些可以聊聊的...转载 2020-04-07 13:40:29 · 222 阅读 · 0 评论 -
指针和引用的区别
本质上的区别是,指针是一个新的变量,只是这个变量存储的是另一个变量的地址,我们通过访问这个地址来修改变量。而引用只是一个别名,还是变量本身。对引用进行的任何操作就是对变量本身进行操作,因此以达到修改变量的目的。注:(1)指针:指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;引用:跟原来的变量实质上是同一个东西,只不过是原变量的一个别名而已。如:int ...原创 2020-04-07 11:33:39 · 208 阅读 · 0 评论 -
深拷贝和浅拷贝
深拷贝和浅拷贝最根本的区别在于是否真正获取一个对象的复制实体,而不是引用。假设B复制了A,修改A的时候,看B是否发生变化:如果B跟着也变了,说明是浅拷贝,拿人手短!(修改堆内存中的同一个值)如果B没有改变,说明是深拷贝,自食其力!(修改堆内存中的不同的值)浅拷贝(shallowCopy)只是增加了一个指针指向已存在的内存地址,深拷贝(deepCopy)是增加了一个指针并且申请了一...原创 2020-04-07 11:24:25 · 167 阅读 · 0 评论 -
笔试2
1.:模拟:#include<bits/stdc++.h>using namespace std;int N,X;typedef long long LL;struct node{ LL chu; LL pour;}a[11000];int main(){ scanf("%d%d",&N,&X); for(int i=1...原创 2020-03-24 18:01:53 · 134 阅读 · 0 评论 -
TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景
TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景一、OSI 模型OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明(好吧,比较懒);OSI 整个模型层次大致可以分为3个主要层面来看|.............主机...............| 操作系统和软件等 应用、表示、会话...转载 2020-03-19 12:49:08 · 1507 阅读 · 0 评论 -
get和post区别
GET和POST的安全性 1、GET是通过URL方式请求,可以直接看到,明文传输 2、POST是通过请求header请求,可以开发者工具或者抓包可以看到,同样也是明文的 3、GET请求会保存在浏览器历史纪录中,还可能会保存在Web的日志中 GET幂等/POST不幂等 幂等是指同一个请求方法执行多次和仅执行一次的效果完全相同。(即副作用)...转载 2020-03-18 21:54:14 · 5297 阅读 · 0 评论 -
虚函数的作用及使用方法
转载自:http://c.biancheng.net/cpp/biancheng/view/244.html我们知道,在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义”。但是在类的继承层次结构中,在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。打个比方,假设在Circle类中定义了 area函数,在Circle类的派生类Cylinde...转载 2020-03-18 15:25:00 · 9962 阅读 · 7 评论 -
map与hashmap
参考:https://blog.youkuaiyun.com/qq_36711757/article/details/80394272一,map1.map的定义:map就是用于存储键值对(<key,value>)的集合类,也可以说是一组键值对的映射(数学概念)。注意,我这里说的只是map的概念,是为了通俗易懂,面试时候方便记忆,但是你自己一定要明白,在java中map是一个接口,是...原创 2020-03-17 18:54:36 · 3096 阅读 · 0 评论 -
STL中迭代器的作用,有指针为何还要迭代器
转载: https://blog.youkuaiyun.com/N1314N/article/details/929576421、迭代器Iterator(迭代器)模式又称Cursor(游标)模式,用于提供一种方法顺序访问一个聚合对象中各个元素,而又不需暴露该对象的内部表示。或者这样说可能更容易理解:Iterator模式是运用于聚合对象的一种模式,通过运用该模式,使得我们可以在不知道对象内部表...转载 2020-03-17 11:05:25 · 1126 阅读 · 0 评论 -
树的直径证明
树的直径求法1:任意选择一个点M,dfs找到最远距离P,再从P为起点dfs最长路径,端点为Q,此时PQ即为该树的直径。证明:为什么PQ为直径。即证:P肯定为直径的端点。以下讨论了三种情况:...原创 2020-03-17 10:52:24 · 435 阅读 · 3 评论 -
c++与c的内存分配
C的内存分配: 1、BSS段: 用来存放程序中未初始化的全局变量。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 2、数据段:用来存放程序中已初始化的全局变量。数据段属于静态内存分配。 3、代码段:用来存放程序执行代码。 4、堆:堆是用于存放进程运行中被动态分配的内存段,当进程调用malloc/free等函数分配...原创 2020-03-16 21:17:39 · 185 阅读 · 0 评论 -
一次完整的http请求经历的步骤
一次完整的http请求经历的7个步骤:HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤:1.建立TCP连接(三次握手)在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的。该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/I...原创 2020-03-16 17:47:07 · 625 阅读 · 0 评论 -
十大排序算法-------(快排+堆排序)
0、排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定 :如果a原本在b前面,而a=b,排序之后a仍然在b的前面; 不稳定 :如果a原本在b的前面,而a=b,排序之后a可能会出现在b的后面; 内排序 :所有排序操作都在内存中完成; 外排序 :由于数据太大,因此把数据...原创 2020-03-16 16:05:10 · 267 阅读 · 0 评论 -
TCP三次握手四次挥手
序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 确认号ack:占4个字节,期待收到对方下一个报文段的第一个数据字节的序号;序列号表示报文段携带数据的第一个字节的编号;而确认号指的是期望接收到下一个...原创 2020-03-15 19:00:25 · 131 阅读 · 0 评论 -
进程与线程
进程1.程序并不能单独执行,只有将程序加载到内存中,系统为他分配资源后才能够执行,这种执行的程序称之为进程。也就是说进程是系统进行资源分配和调度的一个独立单位,每个进程都有自己单独的地址空间。所以说程序与进程的区别在于,程序是指令的集合,是进程运行的静态描述文本,而进程则是程序在系统上顺序执行时的动态活动。举个例子:进程:打开微信软件,此时就开启了一个进程。线程:中间发语音,扫...原创 2020-03-15 12:29:15 · 146 阅读 · 0 评论 -
cookie和session介绍
flask中cookie和session介绍cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给...原创 2020-03-12 11:28:26 · 115 阅读 · 0 评论 -
某公司笔试真题
(仅仅记录一下)1.模拟栈#include<bits/stdc++.h>using namespace std;string h1,h2,h3;char temp;int len1,len2;stack<char>ss;int main(){ cin>>h1>>h2; len1=h1.length(); ...原创 2020-03-10 21:30:35 · 181 阅读 · 0 评论 -
2010北邮机试
https://www.nowcoder.com/kaoyan/retest/1005?page=01.哈夫曼树题目描述:哈夫曼树,第一行输入一个数n,表示叶结点的个数。需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结点有权值,即weight,题目需要输出所有结点的值与权值的乘积之和。输入描述:输入有多组数据。每组第一行输入一个数n,接着输入n个叶节点(叶节点权值不超过...原创 2020-01-29 15:49:09 · 210 阅读 · 0 评论