12 2019 档案

摘要:go GC 的基本特征是非分代、非紧缩、写屏障、并发标记清理。核心是抑制堆增长,充分利用CPU资源。 1. 三色标记 是指并发(垃圾回收和用户逻辑并发执行)的对系统中的对象进行颜色标记,然后根据颜色将对象进行清理。基本原理: 起初将堆上所有对象都标记为白色; 从底部开始遍历对象,将遍历到的白色对象标 阅读全文
posted @ 2019-12-29 13:30 滴巴戈 阅读(1433) 评论(0) 推荐(1)
摘要:Go语言内置运行时(就是runtime),不同于传统的内存分配方式,go为自主管理,最开始是基于tcmalloc架构,后面逐步迭新。自主管理可实现更好的内存使用模式,如内存池、预分配等,从而避免了系统调用所带来的性能问题。 1. 基本策略 每次从操作系统申请一大块内存,然后将其按特定大小分成小块,构 阅读全文
posted @ 2019-12-27 13:32 滴巴戈 阅读(4332) 评论(0) 推荐(4)
摘要:1. 什么是反射 Golang提供了一种机制,在编译时不知道类型的情况下,可更新变量、运行时查看值、调用方法以及直接对他们的布局进行操作的机制,称为反射。 2. 反射的使用 2.1 获取变量内部信息 reflect提供了两种类型来进行访问接口变量的内容: 类型reflect.ValueOf() 的作 阅读全文
posted @ 2019-12-19 15:32 滴巴戈 阅读(715) 评论(0) 推荐(0)