runtime
runtime在golang中的作用类似于Java的虚拟机,不过 go runtime 不是虚拟机。 golang 程序生成可执行文件在指定平台上即可运行,效率很高, 它和 c/c++ 一样编译出来的是二进制可执行文件. 我们知道运行 golang 的程序并不需要主机安装有类似 Java 虚拟机之类的东西,那是因为在编译时,golang 会将 runtime 部分代码链接进去。
golang的runtime核心功能
- 协程(goroutine)调度(并发调度模型)
- 垃圾回收(GC)
- 内存分配
- 使得 golang 可以支持如 pprof、trace、race 的检测
- 支持 golang 的内置类型 channel、map、slice、string等的实现
- 等等