摘要: 简介 awk命令在日常查看数据文件或者日志文件时非常有用。它可以根据筛选规则筛选出满足条件的行,加以处理并输出。比如我想知道系统中哪些用户名字以‘r’开头,UID小于10而且可以通过bash登陆,并以‘--’为分割符输出来。那么我们就可以用以下命令实现: awk -F ":" '/^r/ && $3 阅读全文
posted @ 2018-07-23 22:40 Frogjie 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 通用线程池的一般实现思路如下 一个简单通用的线程池应该满足以下条件 <1> 线程数可配置,可动态调整。任务队列的大小可配置。这一点是为了让代码更好地适应运用场景。比如这份代码在机器配置非常好,而且机器上几乎没有其他的业务争抢硬件资源,那么提高线程数,提高任务队列的大小可以增加程序的响应速度和吞吐量。 阅读全文
posted @ 2018-07-22 10:57 Frogjie 阅读(324) 评论(0) 推荐(0) 编辑
摘要: include和require的区别: include在文件找不到的时候发出一条警告,代码继续运行。而require则会发出一个致命错误。 引用文件的查找路径: 想把这个问题说清楚,首先需要提一下php对被引用文件路径的分类,一共有以下3类: <1> 绝对路径,这个没啥说的,linux下以 '/' 阅读全文
posted @ 2018-07-19 22:43 Frogjie 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 1. socket阻塞和非阻塞 关于阻塞还是非阻塞,socket一般需要考虑的情况有以下3种: <1> connect <2> read <3> write 当socket进行connect的时候,会有一个三次握手的机制。connect函数也是只有接收到自己发送的SYN的ACK之后才会返回。这时候如 阅读全文
posted @ 2018-07-15 13:37 Frogjie 阅读(621) 评论(0) 推荐(0) 编辑
摘要: zookeeper的产生背景: 由于互联网的普及和移动互联网的发展,以及用户对产品要求的提升,单一的服务器已经无法满足高并发,大数据的需求。公司的业务一般会进行水平拆分为一个个子系统,然后以分布式的架构形式对外提供服务。 各个子系统虽然经过了拆分解耦,但是每个子系统并不是孤立存在并单独对外服务的。它 阅读全文
posted @ 2018-06-24 22:26 Frogjie 阅读(158) 评论(0) 推荐(0) 编辑