上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 218 下一页

2021年3月31日

Go语言中slice作为参数传递时遇到的一些“坑”

摘要: 前言 相信看到这个题目,可能大家都觉得是一个老生常谈的月经topic了。一直以来其实把握一个“值传递”基本上就能理解各种情况了,不过最近遇到了更深一点的“小坑”,与大家分享一下。 首先还是从最简单的说起,看下面代码: 1 2 3 4 5 6 7 8 9 10 func main() { a := [ 阅读全文

posted @ 2021-03-31 23:39 ExplorerMan 阅读(519) 评论(0) 推荐(0) 编辑

使用fresh类库实现Go gin热重启

摘要: 最近在学习Golang,每次修改代码之后都需要重新build,Go目前没有内置代码热更新的工具,找了一下找到了第三方类库fresh,在开发的时候使用起来炒鸡方便的。 安装 go get github.com/pilu/fresh 使用 进入项目根目录 cd $GOPATH/src/fresh_tes 阅读全文

posted @ 2021-03-31 16:00 ExplorerMan 阅读(1469) 评论(0) 推荐(0) 编辑

golang pprof 使用

摘要: 一、概述 go的pprof工具可以用来监测进程的运行数据,用于监控程序的性能,对内存使用和CPU使用的情况统信息进行分析。 官方提供了两个包:runtime/pprof和net/http/pprof,前者用于普通代码的性能分析,后者用于web服务器的性能分析。 官方文档: https://golan 阅读全文

posted @ 2021-03-31 15:59 ExplorerMan 阅读(791) 评论(0) 推荐(0) 编辑

2021年3月25日

iostat相关参数说明——await:平均每次设备I/O操作的等待时间 (毫秒),如果%util接近 100%,说明产生的I/O请求太多...

摘要: iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。 iosta 阅读全文

posted @ 2021-03-25 13:17 ExplorerMan 阅读(904) 评论(0) 推荐(0) 编辑

2021年3月18日

二分查找

摘要: 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好 二分查找即搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果中间元素大于或小于要查找元素,则在小于或大于中间元素的那一半进行搜索,而且跟开始一样从中间元素开始比较. 如果在某一步骤数组为空,则代表找不到. 阅读全文

posted @ 2021-03-18 11:42 ExplorerMan 阅读(315) 评论(0) 推荐(0) 编辑

2021年3月15日

golang 切片copy复制和等号复制的区别

摘要: 结论:copy复制会比等号复制慢。但是copy复制为值复制,改变原切片的值不会影响新切片。而等号复制为指针复制,改变原切片或新切片都会对另一个产生影响。 测试复制速度: func TestArr1(t *testing.T) { var a []int for i := 0; i < 1000000 阅读全文

posted @ 2021-03-15 14:54 ExplorerMan 阅读(228) 评论(0) 推荐(0) 编辑

atomic.Value代替sync.RWMutex

摘要: 记一次性能优化,读公司项目代码时候,发现好些使用sync.RWMutext的使用场景:项目启动时候对高频数据缓存到内存缓存中,同时每隔一段时间重新写一下这个缓存(用一个全局变量): type cosCred struct { Cred []int64 sync.RWMutex } var CosCr 阅读全文

posted @ 2021-03-15 12:04 ExplorerMan 阅读(122) 评论(0) 推荐(0) 编辑

【Go】原子操作atomic.Value的使用

摘要: 概述Go的sync/atomic包提供了原子操作,支持的数据类型包括: int32, int64, uint32, uint64, uintptr, unsafe.Pointer1若需要扩大原子操作的适用范围,可以使用atomic包中的Value。利用它可以实现对任意值进行原子得存储与加载。 使用注 阅读全文

posted @ 2021-03-15 11:52 ExplorerMan 阅读(1277) 评论(0) 推荐(0) 编辑

Go 语言标准库中 atomic.Value 的前世今生

摘要: 在 Go 语言标准库中,sync/atomic包将底层硬件提供的原子操作封装成了 Go 的函数。但这些操作只支持几种基本数据类型,因此为了扩大原子操作的适用范围,Go 语言在 1.4 版本的时候向sync/atomic包中添加了一个新的类型Value。此类型的值相当于一个容器,可以被用来“原子地"存 阅读全文

posted @ 2021-03-15 11:46 ExplorerMan 阅读(137) 评论(0) 推荐(0) 编辑

2021年3月8日

logstash日志写到es,按照时间来进行切割,生成索引配置

摘要: 配置如下: es创建索引使用: logstash-chat-proxy-nginx-access-*logstash-chat-proxy-nginx-error-* 转载于:https://www.cnblogs.com/zhaojonjon/p/8616756.html 阅读全文

posted @ 2021-03-08 16:52 ExplorerMan 阅读(914) 评论(0) 推荐(0) 编辑

上一页 1 ··· 26 27 28 29 30 31 32 33 34 ··· 218 下一页

导航