- 博客(33)
- 收藏
- 关注
原创 golang sync WaitGroup
刚才看golang的sync的包,看见一个很有用的功能。就是WaitGroup。先说说WaitGroup的用途:它能够一直等到所有的goroutine执行完成,并且阻塞主线程的执行,直到所有的goroutine执行完成。WaitGroup总共有三个方法:Add(delta int),Done(),Wait()。简单的说一下这三个方法的作用。Add:添加或者减少等待goroutine的数量D...
2020-04-14 20:15:16
367
原创 append存在改变原有数组的问题
append存在改变原有数组的问题package mainimport ( "fmt")func main() { nums:=[]int{1,2,3} fmt.Println(cap(nums)) _ =append(nums,4) fmt.Println(nums) nums = []int{1, 2, 3} _ = append(nums[:2], 4) fm...
2020-04-14 19:31:56
810
原创 练习 4.9: 编写一个程序wordfreq程序,报告输入文本中每个单词出现的频率。在第一次调用Scan前先调用input.Split(bufio.ScanWords)函数,这样可以按单词而不是按行输
package mainimport ( "bufio" "fmt" "os")func main() { mapv := make(map[string]int) input := bufio.NewScanner(os.Stdin) input.Split(bufio.ScanWords...
2020-03-20 09:35:51
1032
1
原创 TCP 拥塞控制
1、理论篇https://www.cnblogs.com/czsy/p/10853295.htmlTCP拥塞控制基本概念在讲拥塞控制之前,先眼熟几个概念rwnd(接收窗口)、cwnd(拥塞窗口)、ssthresh(慢启动门限)我们都知道,TCP是通过每次在首部设置接收窗口的大小来控制流量传输而不导致接收缓存溢出的。而拥塞控制则是加了个拥塞窗口来维护,拥塞窗口只是个状态量,并没有在TCP...
2019-10-09 11:12:22
178
转载 数据结构和算法
很好的文章,数据结构学这个就够了https://www.cnblogs.com/skywang12345/p/3603935.html
2019-07-25 11:12:36
70
转载 很多TIME_WAIT连接导致Cannot assign requested address的解决办法(无法绑定端口)
今天用php连接最近新开发的一个服务做测试,发现命令行打印出:Cannot assign requested address网上找了下原因,大致上是由于客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端 口号,所以新的连接没办法绑定端口,即“Cannot assign requested address”。是客户端的问题不是服务器端的问题。...
2019-07-22 17:03:32
545
转载 Linux的fd数量限制查询
1)Linux系统下,所有进程允许打开的最大fd数量。查询语句:/proc/sys/fs/file-max2)Linux系统下,所有进程已经打开的fd数量及允许的最大数量。查询语句:/proc/sys/fs/file-nr3)单个进程允许打开的最大fd数量.查询语句:ulimit -n4)单个进程(例如进程id为5454)已经打开的fd.查询语句:ls -l /proc/5454/f...
2019-07-22 16:38:33
2395
转载 go sync.once用法——用原子计数,控制函数只能被调用一次
欢迎关注go语言微信公众号 每日go语言 golang_everydaysync.once可以控制函数只能被调用一次。不能多次重复调用。示例代码:package mainimport (“fmt”“sync”“time”)func main() {o := &sync.Once{}go do(o)go do(o)time.Sleep(time.Second * 2)...
2019-07-17 16:45:31
416
转载 flag.Args()和 flag.NArg()的用法
flag支持的语言格式如下:-flag // bool类型only-flag=x-flag x //not bool 类型很自然,这个flag能够解析 -D /home/manu/DB_data,对应第二种类型,我们知道pg_ctl有-W选项,属于一个开关性质的bool型的选项-W do not wait until operation completes自然对应第一种类型,...
2019-07-17 14:50:11
2011
转载 性能测试监控TP50、TP99、TP999含义(99分位延时的含义)
首先放一段google到的一段解释:The tp90 is a minimum time under which 90% of requests have been served.tp90 = top percentile 90Imagine you have response times:10s1000s100s2sCalculating TP is very simple...
2019-07-17 11:13:34
10910
3
转载 golang:map转json字符串
m :=map[string]string{“type”:“10”,“msg”:“hello.”}mjson,_ :=json.Marshal(m)mString :=string(mjson)fmt.Printf(“print mString:%s”,mString)
2019-07-16 12:14:19
192
转载 golang的time包:秒、毫秒、纳秒时间戳输出
菜鸟的时候只知道时间戳有10位、13位、还有好长位数的。入坑久了才明白10位数的时间戳是以 秒 为单位;13位数的时间戳是以 毫秒 为单位;19位数的时间戳是以 纳秒 为单位;golang中可以这样写:package mainimport ( "time" "fmt")func main() { fmt.Printf("时间戳(秒):%v;\n", time.Now()...
2019-07-16 11:05:04
4546
1
转载 Golang type 类型别名和类型定义
Golang语言中存在一个关键字type,type又有两种使用方式,一种是类型别名,一种是类型定义,是不是熟悉的C语言(define和typedef)味道?类型定义type Student struct {name Stringage int}type I int类型别名type Sdt = Studenttype I = int他们之间有什么区别呢?区别就是类型定义是完全定义...
2019-07-16 09:55:27
2614
原创 python框架的选择
调研1、框架选择介绍:https://www.cnblogs.com/suzhigang/p/6208244.html2、主要有Django、flask、bottle、tornado 、pylonsBottle、flask 微框架,django 大而全的框架,sanic 性能好(python3)tornado,比较老,适合读代码学习3、在论坛上看到这个大佬的留言:看你的需求和你本...
2019-06-06 11:20:12
725
转载 内存泄漏相关文章
1、C++造成内存泄漏的原因汇总https://blog.csdn.net/qq_18824491/article/details/789026362、
2019-03-22 20:24:22
65
转载 信号中断
SIGINT SIGTERM SIGKILL区别https://www.cnblogs.com/alexyuyu/articles/3853583.html1、如按键盘的CTRL+C时,会产生SIGINT信号,对该信号的默认反应就是进程终止。2、SIGTERM 终止进程 软件终止信号3、SIGSEGV 建立CORE文件 段非法错误SIGHUP 终止进程...
2018-12-28 17:58:02
805
转载 curl和 go
https://www.cnblogs.com/alfred0311/p/7988648.htmlcurl 命令模拟 HTTP GET/POST 请求GoWeb服务器之处理HTTP请求https://blog.csdn.net/TDCQZD/article/details/82633100
2018-11-16 20:37:19
188
转载 go web 开发
go语言启动一个服务https://blog.csdn.net/thinkerleo1997/article/details/78186777第二篇 搭建一个简单的Go Web服务器可以获取请求中的参数,并写回给客户端相应的信息https://www.cnblogs.com/franklee97/p/7131551.html...
2018-11-16 10:59:48
125
转载 Go编程基础—函数(func)
https://blog.csdn.net/qq_22063697/article/details/74858264函数是基本的代码块,用于执行一个任务,是构成代码执行的逻辑结构。在Go语言中,函数的基本组成为:关键字func、函数名、参数列表、返回值、函数体和返回语句。函数定义函数其实在之前已经见过了,第一次执行hello world程序的main()其实就是一个函数,而且是一个比较特殊...
2018-11-15 17:53:03
2306
1
转载 Shell脚本并发及并发数的控制
https://www.jianshu.com/p/701952ffb755正常情况下,Shell脚本是串行执行的,一条命令执行完才会执行接下来的命令。如下代码:!/bin/bashfor i in seq 1 10doecho $idoneecho “----end----”脚本执行的结果如下:12345678910----end----echo $1 命...
2018-11-14 14:56:38
669
转载 Shell脚本中并发线程以及并发数的控制
http://blog.chinaunix.net/uid-8478094-id-3995108.htmlShell脚本中并发线程以及并发数的控制主要记录一下Shell脚本中的命令的并发和串行执行。默认的情况下,Shell脚本中的命令是串行执行的,必须等到前一条命令执行完后才执行接下来的命令,但是如果我有一大批的的命令需要执行,而且互相又没有影响的情况下(有影响的话就比较复杂了),那么就要使...
2018-11-14 14:55:37
500
原创 统计词频
写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ’ ’ 。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排列):the 4...
2018-09-20 11:37:22
291
原创 go相关资料
写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。为了简单起见,你可以假设:words.txt只包括小写字母和 ’ ’ 。每个单词只由小写字母组成。单词间由一个或多个空格字符分隔。示例:假设 words.txt 内容如下:the day is sunny the thethe sunny is is你的脚本应当输出(以词频降序排列):the 4...
2018-09-19 23:22:49
113
原创 redis特性和持久化
redis特性 多数据: 默认是0号数据库,最多到15select 0 ,当然也可以移动数据库 move myset 1 就是将0中的myset移动到mysetredis中的事务一旦执行,后面的命令都会被执行multi 开启事务exec 提交事务(只有提交事务后,设置的变量等才能生效)discard 回滚事务redis的持久化 redis的高性能,是因为redis...
2018-09-12 10:46:13
125
原创 redis数据结构
redis的应用场景: 1、缓存(数据查询、新闻和商品的内容、聊天是的在线好友列表) 2、任务队列(秒杀、抢购) 3、网站访问统计 4、数据过期处理(精确到ms) 5、应用排行榜 6、分布式集群架构中的session分离1、redis数据结构之string类型,VALUE的最大容纳长度为512M——key不能超过1024,value最大512M set、get、getset ke...
2018-09-11 13:16:32
445
转载 linux 如何查看硬盘大小,内存大小等系统信息及硬件信息?
一、linux CPU大小 [root@idc ~]# cat /proc/cpuinfo |grep “model name” && cat /proc/cpuinfo |grep “physical id” model name: Intel(R) Xeon(TM) CPU 2.80GHz model name: Intel(R) Xeon(TM) CPU 2.80GHz...
2018-09-10 20:48:59
4415
转载 linux sort 命令详解
sort是在Linux里非常常用的一个命令,管排序的,集中精力,五分钟搞定sort,现在开始!1 sort的工作原理sort将文件的每一行作为一个单位,相互比较,比较原则是从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。[rocrocket@rocrocket programming]catseq.txtbananaapplepearorange[rocrocket@...
2018-09-10 17:41:55
98
转载 查看CPU、内存
总核数 = 物理CPU个数 X 每颗物理CPU的核数总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数查看物理CPU个数cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo| grep “cpu cores...
2018-09-10 17:40:54
135
转载 linux /proc/loadavg(平均负载)
from : http://hi.baidu.com/mengyun8/blog/item/bd424531451b98e71a4cffc0.html https://blog.csdn.net/hello_yang213/article/details/7455480一、什么是系统平均负载(Load average)? 在Linux系统中,uptime、w、top等命令都会有系统平均负载...
2018-09-10 16:16:47
670
转载 Linux进程查找命令pgrep详解
pgrep是linux中常用的通过程序名字来查询进程的命令。一般用来查找正在运行进程的PID信息。常用选项:默认只显示PID-l 同时显示进程名和PID-o 当匹配多个进程时,显示进程号最小的那个-n 当匹配多个进程时,显示进程号最大的那个注:进程号越大,并不一定意味着进程的启动时间越晚pgrep其他说明:1) pgrep相当于 ps -e o pid,cm...
2018-09-10 14:55:18
2170
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人