
CS
CS常识
ShellDawn
Gu-Ah
展开
-
操作系统:进程
进程状态:进程是操作系统资源分配的最小单位{\red{进程是操作系统资源分配的最小单位}}进程是操作系统资源分配的最小单位每个进程拥有独立的地址空间一个进程无法直接访问另一个进程的数据,必须通过通信,例如管道、消息队列进程切换,消耗资源大。设计频繁资源切换,最好设计多线程...原创 2019-07-07 23:23:42 · 150 阅读 · 0 评论 -
网络:cookie、session和token
有篇博客写的很好https://www.cnblogs.com/moyand/p/9047978.htmlhttp是无状态的\orange{http是无状态的}http是无状态的,所以第一次和服务器连接后,第二次请求仍然不能确认当前请求是哪个用户。cookie和session就是解决http无状态问题\blue{cookie和session就是解决http无状态问题}cookie和sessio...原创 2019-09-16 10:56:26 · 174 阅读 · 0 评论 -
网络:http和https
http无状态明文传输,只要截获传输报文,就可以直接读取信息。http使用端口80\orange{http使用端口80}http使用端口80https在http基础上加入了ssl协议,ssl协议依靠证书验证服务器身份,并为报文加密。https使用端口443\orange{https使用端口443}https使用端口443https通信步骤:(1)客户端使用https访问服务器,要求简...原创 2019-09-16 10:30:30 · 722 阅读 · 0 评论 -
数据库:ACID、视图、删除、索引、链接、范式、隔离级别、分页
主键\red{主键}主键:一行只有一个主键,一列主键不同,一般采用unique和auto_increment外键\red{外键}外键:一个表存在另一个表的主键超键\red{超键}超键:属性的组合,成为一个超键候选键\red{候选键}候选键:最小超键,没有冗余的超键视图\red{视图}视图:视图是虚拟的表。...原创 2019-09-14 22:37:26 · 223 阅读 · 0 评论 -
内存:进程调度
进程状态:运行态、就绪态、阻塞态。阻塞态是等待某种操作信号。线程状态:运行态,就绪态,阻塞态。新建态,终止态。进程调度算法:批处理系统调度:先来先服务,直到前面进程终止或阻塞,才载入下一个进程短作业优先,载入估计时间最短的作业优先级调度,优先级高的优先处理(非抢占式:等待前进程,抢占式:出现优先级更高进程则抢占。抢占式容易出现优先级倒置:即低优先级持有高优先级的共享资源,解决办法...原创 2019-08-12 17:22:23 · 213 阅读 · 0 评论 -
网络:syn flood攻击
通过不断发送TCP连接请求包,来使服务器资源耗尽,瘫痪。发现syn flood攻击:服务器无法处理新TCP连接,netstat -an 查看发现大量syn_recv连接状态防御措施:白名单过滤:拒绝不明来源TCP连接缩短SYN Timeout:太低Timeout可能会影响客户正常访问。SYN cookie:短时间内相同IP发送TCP连接,拒绝。SYN 防火墙:在TCP连接建立前,...原创 2019-08-12 16:56:54 · 389 阅读 · 0 评论 -
网络:TCP可靠性传输
分块发送,一次丢失不至于重发全部报文定时重传,当接收方不能在阈值时间内收到报文,则重新发送数据校验,检验传输过程中的位突变正确排序,seq序列标记数据段顺序,使数据段正确拼接,重复则丢弃流量控制,接收方都维护一个缓冲空间。拥塞控制:慢启动,快恢复,乘性增,过了阈值,加性增,超时后乘性减。...原创 2019-08-12 16:51:19 · 126 阅读 · 0 评论 -
网络:TCP三次握手四次挥手
三次握手:SYN,请求链接标志ACK,确认标志seq,标记数据段顺序ack,对方seq是否收到的标记第一次握手,SYN=1,ACK=0,seq=客户端随机一个数x第二次握手,SYN=1,ACK=1,seq=服务器随机一个数y,ack=x+1第三次握手,SYN=0,ACK=1,seq=x+1,ack=y+1四次挥手:FIN,中断链接标志ACK,确认标志seq,标记数据段顺序...原创 2019-08-12 16:44:45 · 164 阅读 · 0 评论 -
设计模式:
单例模式、工厂模式、装饰器模式、订阅/发布模式、观察者模式\red{单例模式、工厂模式、装饰器模式、订阅/发布模式、观察者模式}单例模式、工厂模式、装饰器模式、订阅/发布模式、观察者模式单例模式:\green{单例模式:}单例模式:一个类只有一个实例工厂模式:\green{工厂模式:}工厂模式:由收到的消息来决定实例化哪一类对象。装饰器模式:\green{装饰器模式:}装饰器模式:为对象增...原创 2019-07-08 23:25:18 · 120 阅读 · 0 评论 -
网络:协议
物理层、数据链路层、网络层、传输层、应用层\red{物理层、数据链路层、网络层、传输层、应用层}物理层、数据链路层、网络层、传输层、应用层物理层:{\green{物理层:}}物理层: 集线器、中继器数据链路层:{\green{数据链路层:}}数据链路层: 交换机、网桥ARP协议:地址解析协议,ARP广播来获得LAN中其他主机的IP地址。网络层:{\green{网络层:}}网络层: 路...原创 2019-07-08 16:25:26 · 617 阅读 · 0 评论 -
操作系统:进程间通信
管道、消息队列、信号量+共享内存{\red{管道、消息队列、信号量+共享内存}}管道、消息队列、信号量+共享内存管道:{\green{管道:}}管道:分为无名管道,有名管道,区别在于无名管道用于具有亲属关系进程之间的通信;有名管道在无关进程间通信。半双工,具有固定的写端和读端。半双工,可以读和写,但不能同时读和写。消息队列:{\green{消息队列:}}消息队列:消息队列是操作...原创 2019-07-08 12:27:49 · 344 阅读 · 0 评论 -
操作系统:死锁
互斥、不可抢占、占有且申请、循环等待{\red{互斥、不可抢占、占有且申请、循环等待}}互斥、不可抢占、占有且申请、循环等待互斥:资源只能由一个资源占有不可抢占:当资源被占有时,其他进程不可强行占有占有且申请:进程占有一个资源,又去申请另一个资源循环等待:A占有A资源又去申请B资源,B占有B资源又去申请A资源。鸵鸟算法:{\red{鸵鸟算法:}}鸵鸟算法:出现死锁概率很小,处理死锁代价...原创 2019-07-08 12:14:59 · 132 阅读 · 0 评论 -
设计模式:
1,简单工厂方法:通过switch case语句块判断需要实例化哪个类。然后通过基类指针指向派生类,实现不同的实例。class Base{ public: virtual void print() = 0;};class A : public Base{ public: void print(){ puts("A");}};class B : pu...原创 2019-09-25 23:12:38 · 140 阅读 · 0 评论