首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
go
订阅
用户522512580414
更多收藏集
微信扫码分享
微信
新浪微博
QQ
12篇文章 · 0订阅
Go指南11-谈谈 Golang HTTP服务器实现原理
对于处理器的实现,其实只有两种,一是使用处理器函数实现,二是创建一个结构体,并实现ServeHTTP方法。 而对于处理器与路由器的绑定方式,一种是通过HandleFunc方法直接绑定处理器(如写法一);一种是通过 Handle方法变向绑定(如写法二)。 注:上面的例子一开始看不…
Go指南9-异常和错误处理
本文主要讲解Golang的异常处理,涉及error类型、defer、panic、以及recover关键字。 1.需要区分错误和异常两个概念,即什么时候使用error、什么时候使用panic,比较简单的办法是"不会终止程序逻辑运行的归类为错误,会终止程序逻辑运行的归类为异常"。 …
kafka入门小记
本文是Kafka的基础科普文,主要讲述什么是Kafka、Kafka的架构以及Kafka的基本使用三个方面。 我在学习Kafka时,主要参考了极客时间的《Kafka核心技术与实战》,这门课程提到,Kafka既是一个开源的分布式消息引擎,也是一个分布式流处理平台,不过目前大部分的使…
谈谈缓存淘汰的LRU和LFU算法
LRU算法和LFU算法是属于页面置换的一种算法,或者更通俗的说,就是缓存如何淘汰的一种策略。 我们通常在设计一个系统的时候,由于数据库的读取速度远小于内存的读取速度,所以为了加快读取速度,会将一部分数据放到内存中,称为缓存。 但是内存容量是有限的,当你要缓存的数据超出容量,就得…
理解golang调度之一 :操作系统调度
golang调度器的设计行为能够使你的多线程go程序更有效率、性能更好,这要归功于golang调度器对于操作系统调度器的支持。对于一个golang开发者来说,同时深刻理解操作系统调度和golang调度器工作原理,能够让你的golang程序设计和开发走到正确道路上。 操作系统调度…
理解golang调度之二 :Go调度器
第一篇文章解释了关于操作系统层级的调度,这对于理解Go的调度是很重要的。这一部分我会在语义层级解释Go调度器是如何工作的,并且着重关注它的一些高级特性。Go 调度器是一个十分复杂的系统,特别细节的地方不重要,重要的是对于它的工作模式有一个好的理解,这会让你做出更好的工程方面的决…
垃圾回收(GC)浅谈
计算机通过两个机制,去实现内存的高效使用。 第一种机制是虚拟内存。硬盘的容量其实是远远大于内存的(RAM),虚拟内存会在内存不足的时候,把不经常访问的内存的数据写到硬盘里。虽然说硬盘容量比较大,但是它的访问速度却很慢。如果内存和硬盘交换数据过于频繁,处理速度就会下降,计算机就会…
【译】 Golang 中的垃圾回收(一)
垃圾回收器负责追踪堆内存的分配,释放掉不需要的空间,追踪那些还在使用的分配空间。不同编程语言对这个机制的实现都很复杂,但是开发人员开发软件时候并不需要了解垃圾回收太细节的东西就能进行构建。另外,不同发布版本编程语言的VM和runtime也总是在改变和进化。对于应用开发人员来说,…
【译】 Golang 中的垃圾回收:Go Traces(二)
第一部分,我花了时间去描述了golang 垃圾收集器的行为,并说明了程序运行时候收集器所产生的延迟。我分享了怎么样去产生以及去解释GC traces。并展示了堆内内存如何改变,并且解释了GC不同阶段对延迟代价的影响。 最后的结论是,如果你减少了堆的压力,你就会减少延迟代价并提高…
go 垃圾回收:三色算法
go垃圾回收器的操作都是基于三色算法,这篇文章主要来说明此算法。 严格来说,在Go中这个算法的官方名称是叫做三色标记清除算法(tricolor mark-and-sweep algorithm)。它可以和程序一起并发工作并且使用写屏障(write barrier)。这就意味着,…