- 博客(14)
- 收藏
- 关注
原创 iOS - 理解OSSpinLock不再安全
OSSpinLock,自旋锁。不再安全原因:低优先级的线程先获取到锁,而后高优先级线程也来获取这个锁,高优先级意味着其可以在CPU调度中有更大几率分配到时间片,但拿到时间片后获取不到自选锁,时间都浪费到了循环等待上。而这时低优先级的现场可以正常执行任务,但其分配到时间片的几率又很小,从而加剧CPU资源的浪费,也有可能出现自旋锁无法释放的问题;这种低优先级会比高优先级先执行,或者说更快执行的现象,个人认为这种情况就是优先级反转。参考自:YY大神不再安全的 OSSpinLockhttps://blog.
2021-03-25 17:47:23
435
原创 HTTP的长连接与短连接
短连接HTTP1.0版本默认使用的是短链接;即客户端与服务端三次握手建立连接,客户端发送请求,服务端响应,四次挥手断开连接。当客户端浏览器访问的某个HTML或其他类型的Web页中包含有其他的Web资源(如JavaScript文件、图像文件、CSS文件等),每遇到这样一个Web资源,浏览器就会重新建立一个HTTP会话。优缺点:服务器管理起来十分方便,因为存在的连接都是有用的连接。但如果请求频...
2019-09-14 16:15:54
174
原创 笔记
进程进程是一个程序执行的实例,程序是静态的,而进程是动态的,进程是操作系统分配资源的基本单位。每个进程都有自己的独立地址空间,进程之间是独立的,如果需要知道其他进程的数据信息,就需要进程通信了。管道只适用于父子进程之间的通信,其他进程间通信可以使用消息队列,共享内存,信号量(用于实现进程同步),socket套接字。操作系统用PCB来描述一个进程。PCB(进程控制块),包括了进程的id(pid)...
2019-09-14 15:41:41
107
原创 就很杂很乱
send,sendto,sendmsg调用的系统函数都是sock_sendmsg. 而且用的较多的send调用sendto,内核代码sys_sendto(fd,buf,len,flags,NULL,0);ARP(地址解析)协议通过广播的方式获得对应IP的MAC地址。首先查询本地的IP-MAC映射表缓存,不存在则发送ARP协议广播包(目的地址全1),局域网内的主机收到消息,判断IP地址是否与自己...
2019-04-26 16:53:01
253
原创 HTTPS的个人理解
HTTPS的个人理解HTTPS是在HTTP的基础上加上了安全套接层(TSL/SSL),以达到安全传输的目的。通常加密算法分为:对称加密和非对称加密对称加密:常用算法DES,AES;对称加密就是双方使用相同的密钥,密钥只有一个,加密解密都使用它,且加密速度快。但存在密钥被截获的可能,仍不安全。非对称加密:常用算法RSA. 生成一对密钥,分为公钥和私钥,公钥加密需要对应私钥才能解开,私钥加密...
2019-04-12 14:37:30
197
原创 关于C语言重要关键字的整理
关键字static static修饰局部变量:修改了局部变量的生命周期,相当于全局变量,程序结束时释放。 static修饰全局变量:修改了该变量的连接属性,使其只能在本文件中使用,哪怕加上extern 也不可以。 static修饰一个函数,则这个函数的只能在本文件中调用,不能被其他文件调用。Static修饰的变量存放在全局数据区的静态变量区,包括全局静态变量和局部静态变量,都在...
2018-09-07 15:01:37
178
转载 大数据面试题
1)给一个超过100G大小的log file, log中存着IP地址, 设计算法找到出现次数最多的IP地址?!解决方法将100G分成100份,将每个ip映射到相应文件中 ip_if=ip%100找出每个文件中的出现次数最多的一个ip再将100份里找出来的最多的一个放入一个哈希表中进行比较找出最大值2)与上题条件相同,如何找到top K的IP?如何直接⽤用Linux系统命令实现?...
2018-09-07 14:13:00
154
原创 linux - find命令详解
findfind命令 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。格式: find PATHNAME [-option] [-exec] command {} \;PATHNAME:查找的路径名【-option】...
2018-09-07 14:11:40
282
转载 linux下指令: du, df, top, free, pstack, su, sudo(sudo -, sudo -s), adduser, password
du命令1.命令格式: du [选项][文件] 2.命令功能: 显示每个文件和目录的磁盘使用空间。 3.命令参数: -a或-all 显示目录中个别文件的大小。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文 件的总和。 -k或–kilobytes 以KB(1024byt...
2018-06-05 14:15:53
305
原创 Linux下的重要目录/proc, /sys, /SElinux, /bin, /usr/lib, /usr/local, /var, /tmp
/proclinux系统上的/proc目录是一种文件系统,即proc文件系统。与其它常见的文件系统不同的是,/proc是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,用户可以通过这些文件查看有关系统硬件及当前正在运行进程的信息,甚至可以通过更改其中某些文件来改变内核的运行状态. /sys文件系统访问linux内核 挂载于/sys的文件系统/s...
2018-06-05 14:06:49
100
原创 C语言中的操作符整理
一、算术操作符首先了解一下算术标识符都有哪些:+、-、*、/、%。这些运算符都是最基础的操作符,不做过多介绍。但要注意“%”只能用于整型。二、移位操作符移位操作符有两种:>>(右移操作符)、<<(左移操作符)。特别注意右移操作时分为两种情况:1、算术右移;2、逻辑移位。算术右移情况指的是:二进制数有正负之分,补位时要注意符号位;逻辑移位情况指的是:不需要考虑符号产生的问题,...
2018-03-30 22:39:53
159
原创 基础-求最大公约数
欧几里得算法int Gcb(int a,int b){ while(b > 0) { int c = n % m; n = m; m = c; } return c;}
2018-03-21 15:38:56
134
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人