首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
奇犽
掘友等级
系统研发工程师
|
字节跳动
别怂,就是干
获得徽章 0
动态
文章
专栏
沸点
收藏集
关注
作品
赞
28
文章 28
沸点 0
赞
28
返回
|
搜索文章
赞
文章( 28 )
沸点( 0 )
深度解密Go语言之pprof
相信很多人都听过“雷神 3”关于性能优化的故事。在一个 3D 游戏引擎的源码里,John Carmack 将 1/sqrt(x) 这个函数的执行效率优化到了极致。 一般我们使用二分法,或者牛顿迭代法计算一个浮点数的平方根。但在这个函数里,作者使用了一个“魔数”,根本没有迭代,两…
字节跳动在 Go 网络库上的实践
字节跳动框架组主要负责公司内 RPC 框架的开发与维护。RPC 框架作为研发体系中重要的一环,承载了几乎所有的服务流量。随着公司内 Go 语言使用越来越广,业务对框架的要求越来越高,而 Go 原生 net 网络库却无法提供足够的性能和控制力,如无法感知连接状态、连接数量多导致利…
golang设计模式-以kubernetes源码为例
组合模式的不同形式,这些随处可见,也不用深究其中的区别。 kubernetes/golang 用得很少,一般使用全局变量(如配置) (比如 net/http package 的 http.DefaultClient 和 http.DefaultServeMux). 或者作为co…
不得不知道的Golang之sync.Map源码分析
众所周知,go普通的map是不支持并发的,换而言之,不是线程(goroutine)安全的。博主是从golang 1.4开始使用的,那时候map的并发读是没有支持,但是并发写会出现脏数据。golang 1.6之后,并发地读写会直接panic: 第三方类库 concurrent-m…
构建基于RocketMQ的分布式事务服务
Apache RocketMQ-4.3.0正式Release了事务消息的特性,顺着最近的这个热点。第一篇文章,就来聊一下在软件工程学上的长久的难题——分布式事务(Distributed Transaction)。 这个技术也在各个诸如阿里,腾讯等大厂的内部,被广泛地实现,利用及…
golang 释放内存机制的探索
GO在运行时,即使GC了,堆内存减小了,向系统申请的内存在一段时间后才会释放。 最近业务上有个用go写的server可能存在内存占用过高的问题,于是周末趁机探索了下go的gc机制。 Go 管理内存的方式,是在一开始就保留一大块 VIRT,而 RES 与实际内存用量接近。 gc …
图解Golang的GC算法
虽然Golang的GC自打一开始,就被人所诟病,但是经过这么多年的发展,Golang的GC已经改善了非常多,变得非常优秀了。 经典的GC算法有三种:引用计数(reference counting)、标记-清扫(mark & sweep)、复制收集(Copy and Collec…
关于JVM堆外内存的一切
Java中的对象都是在JVM堆中分配的,其好处在于开发者不用关心对象的回收。但有利必有弊,堆内内存主要有两个缺点:1.GC是有成本的,堆中的对象数量越多,GC的开销也会越大。2.使用堆内内存进行文件、网络的IO时,JVM会使用堆外内存做一次额外的中转,也就是会多一次内存拷贝。 …
Linux系统篇-文件系统&虚拟文件系统
看了之前的关于Linux内存管理和进程调度的文章,相比读者们应该对Linux有了大致的了解,本文的主题是Linux虚拟文件系统。闲话少说,开始! 我们知道文件都有文件名与数据,数据分两部分:用户数据 (user data) 与元数据 (metadata)。用户数据,即文件数据块…
左耳朵耗子:技术人的发展之路该怎么走?
技术圈中的很多人,最初都坚定地认为 coding 能改变世界。然而三五年过去后,还能不忘初心的人,少之又少。随着年龄的增长,梦想已被束之高阁,面包慢慢占据生活的大部分。对于个人发展,很多成功学者会给你灌各种鸡汤,但我们今天不这么做。
下一页
个人成就
文章被点赞
573
文章被阅读
55,949
掘力值
1,821
关注了
7
关注者
514
收藏集
1
关注标签
6
加入于
2017-05-15