自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 Go语言字符串各种拼接的性能对比

其中使用直接 + 是最慢的也是最耗费内存的,使用strings.Builder能大幅提升性能。综合来看直接使用strings.Join方法是非常不错的。

2023-08-15 20:18:14 130

原创 go,让我们写下getcallerpc的汇编吧

在runtime包的过程中看到 getcallerpc 的函数声明,但是没看到该函数的实现。执行会打印 f() 代码所在位置的下一行。

2023-07-30 02:37:55 123

原创 go汇编中mcall方法通过0(sp)为什么能获取调用者pc?

我们现在要研究的是 MOVQ 0(SP), BX // caller's PC ,他是怎么通过0(SP)获取到调用者pc?补充一点这里调用者pc也是g的pc,也是g被恢复时要继续执行的代码位置。先介绍下mcall方法,mcall是go调度相关的重要代码,他会保存当前g执行的信息,然后切换的g0,调用传入的fn方法。他也会把保存的当前g传给fn方法。我们目光转回sp寄存器,sp寄存器是执行函数栈栈顶的指针,在go中访问函数内的局部变量,调用其他函数时传递参数,都要使用sp寄存器。

2023-07-21 19:07:25 253

原创 获取Goland中可比较类型的hash值

在 runtime 包下有 typehash 方法(位于alg.go文件),这个方法等价于map中对于key取hash的操作。所以我们通过golink的方式获取该方法。

2023-07-06 19:03:24 143

原创 使用java读取word文档生成oracle建表语句

使用java把word文档中的表结构生成对应的oracle的sql文件

2022-04-02 15:20:48 1176

原创 go 随机打乱数组(rand.Shuffle)

go 随机打乱数组(rand.Shuffle)

2022-02-14 15:04:07 7724

原创 为什么golang空切片不等于零切片

为什么golang空切片不等于零切片

2022-02-08 16:18:36 409

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除