首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
Golang
订阅
hangiangai
更多收藏集
微信扫码分享
微信
新浪微博
QQ
33篇文章 · 0订阅
图文结合,白话Go的垃圾回收原理
前面两篇文章介绍了Go语言的内存分配策略以及Go协程动态扩充和收缩栈内存的原理,今天这篇文章我们主要来聊一下内存管理的另外一大块内容:垃圾回收。 下面首先我们会聊一下什么是GC,GC的作用是什么,然后再结合图示用每个人都能听懂的大白话解释Go的GC原理。 现代高级编程语言管理内…
Dig101:Go之灵活的slice
Slice作为go常用的数据类型,在日常编码中非常常见。 相对于数组的定长不可变,slice使用起来就灵活了许多。 slice数据结构如上,Data指向底层引用的数组内存地址, len是已用长度,cap是总容量。 看看他们的地址是否相同。 结果发现a和&a[0]地址相同。 这个…
通俗易懂的红黑树图解(上)
红黑树本质上是一颗二叉查找树,它是在二叉查找树的基础上给节点增加红黑颜色属性以及五条约束的性质。所以学习红黑树之前,需要先了解一下二叉查找树的知识;红黑树与二叉查找树的查找操作是一模一样的,所以掌握了二叉查找树之后,学习红黑树就只剩下增加及删除节点了(注意:红黑树没有更新节点操…
栈、堆、队列深入理解,面试无忧
Event Loop的执行栈、任务队列。 变量存储的堆、栈问题。 栈、队列数据结构的实现问题。 还有一些列相关的手写问题。 在面试中,经常问遇到与之相关的一些列问题哈。 栈 是一种遵循 后进先出(LIFO) 原则的有序集合。新添加和待删除的数据都保存在栈的同一端栈顶,另一端就是…
Golang 需要避免踩的 50 个坑
Go 是一门简单有趣的编程语言,与其他语言一样,在使用时不免会遇到很多坑,不过它们大多不是 Go 本身的设计缺陷。如果你刚从其他语言转到 Go,那这篇文章里的坑多半会踩到。 如果花时间学习官方 doc、wiki、讨论邮件列表、 Rob Pike 的大量文章以及 Go 的源码,会…
golang面试题:字符串转成byte数组,会发生内存拷贝吗?
字符串转成切片,会产生拷贝。严格来说,只要是发生类型强转都会发生内存拷贝。那么问题来了。 频繁的内存拷贝操作听起来对性能不大友好。有没有什么办法可以在字符串转成切片的时候不用发生拷贝呢? StringHeader 是字符串在go的底层结构。 SliceHeader 是切片在go…
分布式系统高可用实战之限流器(Go 版本实现)
限流器,顾名思义用来对高并发的请求进行流量限制的组件。 限流包括 Nginx 层面的限流以及业务代码逻辑上的限流。流量的限制在众多微服务和 service mesh 中多有应用。限流主要有三种算法:信号量、漏桶算法和令牌桶算法。下面依次介绍这三种算法。 笔者在本文的程序示例均以…
Redis 的命令详解 - Sorted Set 篇
向有序集合(sorted set)中,添加 分数/成员(score/member)对,可以同时指定多个分数/成员(score/member)对。 分数值是一个带符号带双精度浮点型数字字符串。 如果指定的成员已经在有序集合中,则会更新改成员的分数(scrore)并更新到正确的排序…
Go-Spring : Another Go Style!
Go-Spring 是模仿 Java 的 Spring 全家桶实现的一套 GoLang 的应用程序框架,仍然遵循“习惯优于配置”的原则,提供了依赖注入、自动配置、开箱即用、丰富的第三方类库集成等功能,能够让程序员少写很多的样板代码。 去年年底的时候,我所在的团队由于业务调整,技…
Go Channel 详解
Channel是Go中的一个核心类型,你可以把它看成一个管道,通过它并发核心单元就可以发送或者接收数据进行通讯(communication)。 它的操作符是箭头 <- 。 (箭头的指向就是数据的流向) 就像 map 和 slice 数据类型一样, channel必须先创建再…