参考文献: 《黑客攻防技术宝典-系统实战》 《汇编语言》 上一节我们已经对栈有个一个清楚的认识,这节从以下几个点来讲解栈溢出: 1)栈缓冲溢出 2)控制EIP 3)利用漏洞获取特权 4)战胜不可执行栈 一. 栈缓冲溢出 这一节我们看下过多数据放进缓冲区之后,缓冲区将发生什么变化,在了解这些变化之后, ...
分类:
其他好文 时间:
2019-06-22 11:01:52
阅读次数:
120
限流算法 令牌桶算法 算法思想是: 令牌以固定速率产生,并缓存到令牌桶中; 令牌桶放满时,多余的令牌被丢弃; 请求要消耗等比例的令牌才能被处理; 令牌不够时,请求被缓存。 漏桶算法 算法思想是: 水(请求)从上方倒入水桶,从水桶下方流出(被处理); 来不及流出的水存在水桶中(缓冲),以固定速率流出; ...
分类:
其他好文 时间:
2019-06-21 21:04:21
阅读次数:
139
sed命令和正则表达式sed是一种在线的,非交互式的编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,成为模式空间,接着用sed命令处理缓冲区的内容。处理完,把缓冲区的内容送往屏幕。sed支持正则表达式与grep一样,sed在文件中查找模式时也可以使用正则表达式(RE)和各种元字符。正则表达式是括在斜杠间的模式,>用于查找和替换,以下是sed支持的元字符使用基本元字符集^
分类:
其他好文 时间:
2019-06-21 17:09:28
阅读次数:
96
JVM内存模型如上图,需要声明一点,这是《Java虚拟机规范(Java SE 7版)》规定的内容,实际区域由各JVM自己实现,所以可能略有不同。以下对各区域进行简短说明。 1.1程序计数器 程序计数器是众多编程语言都共有的一部分,作用是标示下一条需要执行的指令的位置,分支、循环、跳转、异常处理、线程 ...
分类:
编程语言 时间:
2019-06-21 11:11:42
阅读次数:
83
一、概念 在PHP运行的过程中,可以将会产生输出的函数或操作结果暂时保存在PHP的缓冲区,只有当缓冲区满了、或者PHP运行完毕、或者在必要时候进行输出,才会将数据输出到浏览器,此缓冲数据的区域称为PHP的输出缓冲区(OB)。 二、原理 ①使用了缓冲区之后,当执行PHP的时候,如果碰到了echo、pr ...
分类:
Web程序 时间:
2019-06-20 09:32:50
阅读次数:
127
计算并发和qps:假如你的网络服务的工作线程个数如果为24个,另外,单个请求耗时大概100ms,那么,你的并发是24个;你的qps可以达到240个,也就是一秒处理的任务数目(每个任务都被在100ms内被处理完成);有时,为了提高qps,一般在接收端都会设置一个接收任务的队列,用来缓冲请求,这个对请求 ...
分类:
其他好文 时间:
2019-06-19 20:21:44
阅读次数:
164
在上一节,介绍了字节流的基本使用,本节介绍一下字符流的使用 Reader: 我们可以发现Reader和InputStream的方法相差不大,是定义字符输入流的抽象类 Writer: FileReader、FileWriter: BufferedReader、BufferedWriter: 新增了ne ...
分类:
编程语言 时间:
2019-06-19 16:51:02
阅读次数:
118
有些程序我们在打开时,会一直占用我们的终端,而且终端还不能关掉,所以这时候我们就需要让程序在后台运行。 1.命令:nohup nohup python -u run.py > run.log 2>&1 & 参数说明: run.py: 你需要后台运行的程序. >: 日志文件追加到文件中 run.log ...
分类:
系统相关 时间:
2019-06-17 17:13:27
阅读次数:
149
为什么要设计标准 I/O 库? 标准 I/O 库是 ANSI C 规范的一部分,函数原型在文件 stdio.h中定义,对底层 I/O 系统 调用进行了封装,为程序员提供了带有格式转换功能的输入输出操作,并在用户空间 增加了缓冲区管理 分离了应用程序空间和实际的物理设备 减少了直接读盘次数,提高性能 ...
分类:
系统相关 时间:
2019-06-16 23:21:14
阅读次数:
257
内存映射文件和传统的I/o过程的区别 传统IO:块设备文件,磁盘文件 系统调用->页高速缓存->分配新页->磁盘->页高速缓存->用户进程空间的缓冲区 系统调用 read(),write() 系统调用read()将阻塞调用进程,知道数据被拷贝进用户态地址空间。规范模式但wirte()不同,它在数据被 ...
分类:
其他好文 时间:
2019-06-16 20:14:55
阅读次数:
131