自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Golang复习笔记之Slice(面向面试)

如果多个 slice 共享同一个底层数组,那么修改一个 slice 中的元素可能会影响其他 slice。Slice 本质上是一个结构体,包含三个部分:指向底层数组的指针(pointer)、长度(len)、容量(cap)。动态扩容当 slice 的容量不够时,Go 会分配一个更大的底层数组,并将现有的元素复制到新的数组上。slice 是按引用传递的,因为它内部包含了一个指针指向底层数组。array是值传递。Slice 是 Go 语言中动态大小的数组,是对数组的引用。

2024-10-01 17:54:54 231

原创 Golang复习笔记之map(面向面试)

map 是一种内置的数据类型,用于存储键值对(key-value pairs)。它提供了高效的键值对查找、插入和删除操作。map 可以看作是一种哈希表,键是唯一的,值可以是任意类型。其中,KeyType 是键的类型;ValueType 是值的类型,值可以是任意类型。

2024-10-01 17:35:29 341

原创 Golang面试题——基础知识

2024-09-26 17:15:46 176

原创 Golang复习笔记之内存逃逸、竞态

资源竞争,就是在程序中,同一块内存同时被多个 goroutine 访问。我们使用 go build、go run、go test 命令时,添加 -race 标识可以检查代码中是否存在资源竞争。逃逸分析:就是程序运行时内存的分配位置(栈或堆),是由编译器来确定的。堆适合不可预知大小的内存分配。但是为此付出的代价是分配速度较慢,而且会形成内存碎片。解决这个问题,我们可以给资源进行加锁,让其在同一时刻只能被一个协程来操作。

2024-09-26 17:12:07 227

原创 Golang复习笔记之起源、基础语法

2007年,谷歌的三维专家觉得现有语言(C++)在构建大型系统时的复杂性、编译构建速度慢以及对并发支持不足感到不便,所以设计一种新语言。go语言的特点:语法简单,易于学习和使用通过 goroutines 实现轻量级的线程(协程),通过 channels 实现 goroutines 之间的通信。自己的调度机制(GMP)基于CSP模型。生成的是可编译的二进制文件,可以跨平台编译,可以在不同的操作系统和架构上编译和运行。·垃圾回收:Go 语言有自动垃圾回收机制,减轻了内存管理的负担。·编译性语言。

2024-09-26 16:56:41 502

原创 机械跨专业自学CS之始前篇

大家好,如题所说,机械考研跨到计算机,因为专业发展行情也好,因为个人爱好也罢,寻找到一个方向不容易,那就坚持下去,不怕试错。 现在初试结束还未出分,

2024-09-26 16:19:27 71

原创 Golang复习笔记之垃圾回收、GMP调度

一个黑色的节点A新增了指向白色节点C的引用,并且白色节点C没有除了A之外的其他灰色节点的引用,或者存在但是在GC过程中被删除了。满足弱三色不变性:黑色节点允许引用白色节点,但是该白色节点有其他灰色节点间接的引用(确保不会被遗漏) 当白色节点被删除了一个引用时,悲观地认为它一定会被一个黑色节点新增引用,所以将它置为灰色。队列轮转:P 会周期性的将G调度到M中执行,执行一段时间后,保存上下文,将G放到队列尾部,然后从队列中再取出一个G进行调度。当G0系统调用结束后,如果有空闲的P,则获取一个P,继续执行G0。

2024-09-26 16:14:08 452

原创 Golang复习笔记之Channel、context

若等待接收队列 recvq 不为空,则缓冲区中无数据或无缓冲区,将直接从 recvq 取出 G ,并把数据写入,最后把该 G 唤醒,结束发送过程。若等待发送队列 sendq 不为空,且没有缓冲区,直接从 sendq 中取出 G ,把 G 中数据读出,最后把 G 唤醒,结束读取过程。如果等待发送队列 sendq 不为空,说明缓冲区已满,从缓冲区中首部读出数据,把 G 中数据写入缓冲区尾部,把 G 唤醒,结束读取过程。若缓冲区中有空余位置,则将数据写入缓冲区,结束发送过程。并发控制神器之Context。

2024-09-26 16:12:18 278

原创 代码随想录训练营day2

所以用双指针法i、j,i指向数组最左边(也就是最小元素),j指向数组最右边(也就是最大元素),在用k指针指向result数组终止位置(卡哥给的是k指向新数组终止位置,然后递减忘前遍历,这里我想试试k指向新数组起始位置然后递增,一会试验结果)描述:一个含有n个正整数的数组,和一个正整数s,找出该数组中其和>=s的最小连续子数组,并返回其长度。如果没有符合的,返回0。题解指出:因为新数组也是非递减的,新元素来自于原数组最大的元素或者原数组最小的元素(负数最小,平方可能就是最大);具体细节如9行的让数组累加;

2023-06-13 12:56:26 45 1

原创 代码随想录训练营第一天

当左闭右闭时,假设target<middle,middle可以取到right,所以下次调整middle时,可以令right=middle-1;当左闭右开时,假设target<middle,middle不可以取到right,所以下次调整middle时,令right=middle。给一个数组nums和一个值val,原地移除所有等于val的元素,并返回新数组的长度(注意不能用额外的数组空间,你不需要考虑数组中超出新长度后面的元素)最后右指针指向的不等于的把左指针指向的等于的覆盖,直接返回最终数组🌹。

2023-06-07 23:34:50 1876

空空如也

空空如也

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

TA关注的人

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