自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Life runs on code

做最好的自己

  • 博客(4)
  • 资源 (2)
  • 收藏
  • 关注

原创 Go语言模型:可变参函数的实现机制

Golang的可变参实现跟C/C++的不太一样,编译器把可变参解析成了一个切片结构传给了函数,充分利用了Go内置的数据结构。而C/C++的实现则要结合x86平台调用约定和ABI手册了,可以看:Linux C variadic可变参数:va_list 在x86和x64下的区别与实现原理。一个Go的简单例子:func sum2(vals []int) int { total := 0 for ...

2018-11-29 23:30:03 262

原创 Go语言模型:string的底层数据结构与高效操作

Golang的string类型底层数据结构简单,本质也是一个结构体实例,且是const不可变。string的底层数据结构通过下面一个例子来看:package mainimport ( "fmt" "unsafe")// from: string.go 在GoLand IDE中双击shift快速找到type stringS

2018-11-25 11:44:42 5462 5

原创 Go语言模型:切片slice的底层实现

Go语言的切片实现可以看runtime的slice.go文件,切片是Go语言内置的数据结构,编译器识别到切片语法操作时会自动调用runtime对应底层实现,所以用起来就非常方便,这也是语言级的实现比库实现的优势。可以通过一个例子来看切片的内存模型:// go version: 1.7package mainimport ( "fmt" "reflect" &

2018-11-21 23:44:00 994

原创 Go语言模型:通过runtime源码和汇编看interface的底层实现

Go的汇编要看懂Go的内存模型,就需要对Go runtime的源码和Go的汇编指令有一定的了解。Go的汇编是基于 Pan9 汇编的风格,。Go的runtime源码中有大量的汇编,比如goroutine的上下文切换肯定是要汇编的,切换栈帧和寄存器,这些是无法通过简单的function call来完成的,操作系统的线程上下文切换同样类似。在Linux平台,我们通过Go runtime的源码和GDB...

2018-11-19 00:07:45 1171

MATLAB遗传算法源码与工具箱实用介绍

MATLAB的遗传算法源代码,工具箱的使用,相关的实例

2013-07-29

RESTful+Java+Web+Services.pdf

开发REST的WebService的参考资料,非常具有实用价值!

2013-07-29

空空如也

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

TA关注的人

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