进程与线程的区别
进程是系统资源分配和调度的基本单位,切换进程系统开销大,线程是cpu分配和调度的基本单位,切换线程系统开销小,一个进程至少有一个线程,可以有多个线程
linux查看进程ps
ps -A:列出所有进程
ps -e:列出所有进程
ps -aux作用:列出所有进程
linux杀死进程kill
kill-9操作系统从内核级别强制杀死进程
kill-15操作系统通知进程主动关闭
linux修改用户权限
chmod
死锁
定义:两个或两个以上的线程在执行过程中,争夺共享资源,并且不放弃自己占有的资源
解决:给线程设置不同的优先级,回退等待,按顺序加锁,设置请求锁的时限,超时就放弃请求并且释放自己占有的锁
客户端和服务器
客户端:为客户提供本地服务的程序
服务器:网络中能对其他机器提供服务的计算机系统
linux为什么比windows安全
windows用户量大,容易被攻击
linux开源,解决漏洞的人多,windows不开源
windows默认管理员权限,一旦被入侵危害范围大,linux默认非管理员权限,危害范围小
tcp
transmission control protocol传输控制协议,工作在传输层
ip internet protocol网络协议,工作在网络层
tcp:是面向连接,可靠的协议,传输之前要经过三次握手,不容易丢失数据,网络开销大
udp:是不面向连接,不可靠的协议,不需要对方确认就可以开始传输,容易丢失数据,网络开销小
三次握手:发送方发送syn,接收方发送ack,syn,发送方发送ack
四次挥手:发送方发送fin,接收方发送ack,接收方发送fin,发送方发送ack
http
hypertext transfer protocol超文本传输协议,工作在应用层
为什么基于tcp不基于udp,因为打开一个网页需要传输很多数据,tcp提供传输控制,按顺序组织数据,有错误纠正
视频电话用的什么协议
udp,因为视频电话对实时性要求高,udp传输速度快,比较合适
如何布置服务器
不会
服务器程序崩溃怎么解决
服务器超载:采用轮询机制,减少中断,减少上下文切换,扩容
线程死锁:设置不同的线程优先级,回退等待,按顺序加锁,设置请求锁时限,超时则放弃请求并且释放自己占有的锁
数据库索引类型
单列索引:普通索引:单个列,唯一索引:索引的列的值是唯一的,可以有空值,主键索引:索引的列的值是唯一的,不允许有空值
组合索引:多个列
全文索引:字段中是否包含指定的关键字,原理是将字段进行分词
主键索引和唯一索引
相同:索引的列的值是唯一的
不同:主键索引不可以有空值,唯一索引可以有空值
慢查询优化
将字段很多的表分解成多个表
分解关联查询
忘了写主键索引,但是已经有几万条数据,要怎么优化
导出表,清空表,建立索引,导入数据