自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 进程虚拟空间布局

进程虚拟空间布局文章目录进程虚拟空间布局1 内核空间2 栈(stack)3 内存映射段(mmap)4 堆(heap)5 BSS段6 数据段(Data)7 代码段(text)8 保留区分段的好处进程状态转换1 内核空间内核总是驻留在内存中,是操作系统的一部分。内核空间为内核保留,不允许应用程序读写该区域的内容或直接调用内核代码定义的函数。2 栈(stack)栈又称堆栈,由编译器自动分配释...

2020-01-02 21:29:02 579

原创 输入url后涉及什么

输入url后涉及什么1DNS解析一个DNS查询在没有缓存的情况下会有6步,这将是一个耗时的过程,如果DNS 查询时间过长,甚至会影响到用户体验。那么现阶段是怎么优化的呢?缓存。DNS是存在着多级缓存,从离浏览器的距离排序的话,有以下几种: 浏览器缓存,系统缓存,路由器缓存,IPS服务器缓存,根域名服务器缓存,顶级域名服务器缓存,主域名服务器缓存2.tcp连接3.发送http请求4.服务...

2020-01-02 20:45:30 224

原创 interface源码阅读

interfaceinterface的实现所有interface,包括有方法和空接口,在内存中都是占据两个字长。那么在32位机器上就是8个字节,在64位机器上就是16个字节。空interface的底层实现在Go语言的源码位置: src\runtime\runtime2.go中type eface struct { _type *_type //类型指针 da...

2020-01-02 19:16:29 200

转载 golang源码阅读之map

golang源码阅读之map文章目录golang源码阅读之map基础结构GETPUT扩容基础结构基础结构:golang中的map是什么样子的,是由什么数据结构组成的?初始化:初始化之后map是怎么样的?get:如何获取一个元素?put:如何存放一个元素?扩容:当存放空间不够的时候扩容是怎么扩的?基础结构最外面是hmap结构体,用buckets存放一些名字叫bmap的桶(数量不定...

2020-01-02 19:11:00 411

原创 golang unsafe 和 uintptr 指针

golang unsafe 和 uintptr 指针文章目录golang unsafe 和 uintptr 指针1.golang中的指针类型2.具体操作3.总结1.golang中的指针类型三个类型其实指针有三种:一种是我们常见的*,用*去表示的指针;一种是unsafe.Pointer,Pointer是unsafe包下的一个类型;最后一种是uintptr,uintptr 这玩意是可以进...

2020-01-02 18:56:53 1498

原创 何为悲观锁 何为乐观锁

何为悲观锁 何为乐观锁1.概念悲观锁总是假设最坏的情况,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会阻塞直到它拿到锁(共享资源每次只给一个线程使用,其它线程阻塞,用完后再把资源转让给其它线程)。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。golang的sync.mutex就是悲观锁思想的...

2020-01-02 18:32:39 268

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除