会员
周边
众包
新闻
博问
闪存
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
g2012
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
2021年11月1日
runtime.SetFinalizer使用学习
摘要: 我们知道Go是自带GC的语言,在代码中调用runtime.GC()可以显式触发GC,当内存资源不足时调用可以在该时间点释放内存,但此时,由于STW机制的存在,程序性能可能短暂下降。runtime.SetFinalizer可以在内存中对象被回收前,指定一些操作。 用法介绍 函数定义如下: func S
阅读全文
posted @ 2021-11-01 20:37 g2012
阅读(463)
评论(0)
推荐(0)
2021年5月16日
Go源码解读-rpc包
摘要: 服务端代码 一个简单的rpc server示例如下: package main import ( "log" "net" "net/http" "net/rpc" "github.com/monoxy/rpc/common" ) func main() { server := rpc.NewServ
阅读全文
posted @ 2021-05-16 22:54 g2012
阅读(328)
评论(0)
推荐(0)
2020年11月29日
一次数值越界引起的问题
摘要: 数值越界是需要引起重视的问题,后端服务没有严格检验请求字段的取值范围,则可能引发严重的后果。 事故 例如用户购买礼物,礼物单价为20金币。有用户购买了1073741825个礼物,却只需要花费20金币,这是为何? 原因 原来系统中设定的购买数量和金币均采用了uint32,uint32的取值范围为[0,
阅读全文
posted @ 2020-11-29 11:40 g2012
阅读(314)
评论(0)
推荐(0)
2020年11月22日
Go语言中的接口与反射
摘要: 接口的实现 Go语言中的接口变量存储了两项内容:1.当前值的类型描述,2.存储当前值。 第一部分type是接口的itable,存储接口的类型和一系列函数指针。这里的函数指针列表与接口中的函数定义一致,而不会包括类型自身的其它函数。 第二部分data存储接口的实际数据 接口存储的优化 当声明的接口为空
阅读全文
posted @ 2020-11-22 17:48 g2012
阅读(133)
评论(0)
推荐(0)
2020年11月1日
MySQL事务、隔离级别与锁
摘要: MySQL中的事务四要素 原子性(Atomicity):要么全部完成,要么全部不完成; 一致性(Consistency):事务执行前后都保持数据的完整性约束,数据的中间状态不可见; 隔离性(Isolation):事务之间不能相互影响,可以设置不同的隔离级别; 持久性(Durability):事务提交
阅读全文
posted @ 2020-11-01 14:12 g2012
阅读(116)
评论(0)
推荐(0)
2020年9月6日
influxdb学习记录
摘要: 简介 influxdb是一款流行的时序数据库应用,与prometheus最大的不同在于,influxdb采用推模型,即记录方通过调用influxdb接口,将数据保存到influxdb数据库中。prometheus则是由自身不断抓取记录方的导出数据。influxdb的查询语句与sql类似,简单易上手,
阅读全文
posted @ 2020-09-06 11:16 g2012
阅读(228)
评论(0)
推荐(0)
2020年8月16日
帐号登录、注销流程
摘要: 一、密码登录 1.客户端提交用户名(以手机号为例)、md5编码后的密码,以及手机号、登录平台,如下所示: { "Phone": 12345678999, "Region": 86, "Password": xfdfewr45sdf "platform": app } 2.服端处理流程伪代码为: //
阅读全文
posted @ 2020-08-16 17:38 g2012
阅读(561)
评论(0)
推荐(0)
2020年8月2日
TCP协议笔记
摘要: 参照《TCP-IP详解》一书,TCP首部格式如下: MSS选项 最常见的选项字段为最大报文段长度MSS(Maximum Segment Size),表示本端所能接受的最大TCP数据段长度。每个TCP连接通常在SYN报文中设置这个选项。由于以太网中数据帧不能超过1518个字节,其中帧头14字节,校验和
阅读全文
posted @ 2020-08-02 15:51 g2012
阅读(128)
评论(0)
推荐(0)
Linux硬盘分区、挂载
摘要: Linux磁盘标识有sda(系统识别的第一块磁盘)、sdb(第二块磁盘),它们以文件的形式存放于/dev下。sda1和sda2是sda磁盘上的两个分区。 lsblk命令以树形方式显示当前主机的磁盘信息。 blkid命令用来查看磁盘的UUID Linux系统下磁盘分区需要挂载到某个目录下,例如分区sd
阅读全文
posted @ 2020-08-02 13:56 g2012
阅读(297)
评论(0)
推荐(0)
2020年7月22日
Git跟踪远程分支
摘要: 不同情况下的git 远程跟踪分支 1 远程没有分支,本地也没有分支 git check out -b test //创建并切换到新分支 git push -u origin test //推送到远程分支,并且跟踪远程分支 2 远程已经存在分支,本地不存在对应分支: git checkout --tr
阅读全文
posted @ 2020-07-22 22:30 g2012
阅读(4983)
评论(0)
推荐(2)
上一页
1
2
公告