240 发简信
IP属地:江苏
  • 在 tophash [bucketCnt]uint8 这个数组中查询对应key 的tophash 所匹配的索引

    golang - map

    1. 底层原理 hmap Go中的map是一个指针,占用8个字节,指向底层的hmap结构体(hash表),在源码包src/runtime/map.go中定义了该结构体,如下所...

  • golang - sync.WaitGroup

    go 版本基于1.18 结构体 结构体定义如下: 当我们初始化一个WaitGroup对象时,其counter值、waiter值、semap值均为0 noCopy :空结构体,...

  • 120
    golang - 内存对齐

    1. 介绍 CPU把内存当成是一块一块的,块的大小可以是2,4,8,16字节大小,因此CPU在读取内存时是一块一块进行读取的。块大小成为memory access granu...

  • golang -context

    1. 简介 go 1.7 开始引入context(上下文),准确地说是goroutine 的上下文。主要在goroutine 间传递上下文消息,包括了取消信号, 超时时间,截...

  • 120
    mongoDB - database, collection, view

    1. database 在 MongoDB 中,数据库保存一个或多个文档集合。等价于关系型数据库中的database 如果数据库不存在,MongoDB 会在首次为该数据库存储...

  • 120
    mongodb - 时间序列集合(time series collection)

    1. 介绍 在mongodb 5.0 版本新增的功能,它有效地存储了一段时期内的测量序列。时间序列数据是随着时间收集的任何类型的数据,并由一个或多个不变参数唯一标识, 这些不...

  • mongoDB-document

    MongoDB 将数据记录存储为 BSON类型的 文档(document)。 BSON 是一种二进制数据类型,是json 的一种扩展, bson 支持了更多的数据类型。 下图...

  • 120
    mongoDB - Collation

    Collation特性(排序规则) 是mongoDB 3.4 版本新增的。 允许MongoDB的用户根据不同的语言定制排序规则。 1. 排序属性 排序规则有如下的字段属性 l...

  • mongoDB -BSON

    BSON 是一种二进制序列化格式,用于在 MongoDB 中存储文档和进行远程过程调用。 详细参考:https://bsonspec.org/[https://bsonspe...

  • mongoDB-mongosh

    mongoDB Shell (mongosh) 是一个功能齐全的 JavaScript 和 Node.js 14.x REPL 环境,用于与 MongoDB 数据库进行交互。...

  • 120
    golang - channel

    1. 原理 hchan 通过var声明或者make函数创建的channel变量是一个存储在函数栈帧上的指针,占用8个字节,指向堆上的hchan结构体源码包中src/runti...

  • 120
    golang - map

    1. 底层原理 hmap Go中的map是一个指针,占用8个字节,指向底层的hmap结构体(hash表),在源码包src/runtime/map.go中定义了该结构体,如下所...

  • golang - slice

    切片定义 切片是基于数组实现的,它的底层是数组,可以理解为对 底层数组的抽象。切片底层结构并没有使用加锁等方式,不支持并发读写,所以并不是线程安全的 源码包中src/runt...

  • golang - 多模块工作区(multi-module workspaces)

    go的多模块工作区是从1.18 版本开始的,所以要使用它首先要确认go 的版本。 一下教程介绍了一个多模块工作区的用例。在多模块工作区中创建两个模块,对这些模块进行更改,并在...

  • 120
    golang - fuzz

    从1.18 版本开始, golang 语言将模糊测试(fuzzing test)集成在其标准工具链中 概述 Fuzzing 是一种通过不断控制程序的输入来查找bug的自动化测...

  • 120
    数据结构与算法 - 排序

    代码实现基于golang version 1.18 1. 冒泡排序 冒泡排序是一种交换排序,核心是冒泡,把数组中最大的那个往上冒,冒的过程就是和他相邻的元素交换。 重复走访...

  • 120
    数据结构与算法 - Bit-Map , RoaringBitmap

    BitMap(位图)就是用一个bit位来标记某个元素所对应的value,而key即是该元素,由于BitMap使用了bit位来存储数据,因此可以大大节省存储空间。BitMap解...

  • golang - 泛型

    1. 申明一个泛型函数 [T any] 约束参数的类型,意思是该函数支持任何T类型; 多个泛型参数语法: 2. 申明泛型切片 带有类型参数的类型被叫做泛型类型。下面定义一个底...

  • 120
    数据结构与算法 - 树,BST 树

    1.1 基本术语 树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余...

  • 数据结构与算法 - 数组

    数组是内存中的一片连续的内存空间 可以根据索引下标获取某一个元素 新增删除元素时会移动元素位置保证连续性,效率低下 二维数组 简单来说就是盛放数组的数据,换言之,二维数据的一...