自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 go细枝末节

主要记录下用go刷题时,遇到的问题,主要是语法方面。

2023-07-22 09:36:39 28

原创 ch8-error

error就是一个接口errors包常用的New理如下一般New中的参数首字母小写结尾不加标点。

2023-09-08 07:57:14 41

原创 ch6-unsafe

首先介绍一下unsafe.Pointer,它与普通的指针区别在于其可与其他类型的指针、uintptr互换。uintptr表示地址的整型,转化为其他类型就可以修改变量值,转化为uintptr就可以参与四则运算,定位变量地址利用sizeof也可以做到,不在演示。

2023-09-08 07:54:50 38

原创 ch5-interface

两者都是描述interfce的结构体,iface表示非空接口,eface(empty interface)表空接口两者都具有data字段,data指向接口具体的值,值一般在堆内存。不同的是iface具有itab(其中也有*_type),看看itabfun数组的大小为1,其他方法在添加在第一个方法之后,增加地址大小获得之后对应方法,方法的地址是按照字典序在内存排序的。还有如果接口被重新赋值,对应的fun数组也会更新。再看看interfacetype类型Go每种类型都包含_type,都是在其之上增加一些字段。

2023-09-08 07:53:18 43

原创 docker入门

docker是client-server架构,客户端利用socket连接服务器,守护进程会负责创建、销毁容器。先在本地寻找镜像,没有找到就到仓库找,仓库找到会下载到本地运行。将文件系统分层,不同容器可以共用相同文件,提升复用率。用于容器持久化数据到宿主机,容器之间的内存共享。

2023-08-07 21:59:57 31

原创 kafka入门

replication-factor的值就是包含leader和follower的数量,数据的读写都是从leader中,kafka维护一个ISR集合,其中包含了分区的编号,如果某个分区跟不上其他分区的更新会被从ISR中清除,跟上后再让其加入。分区是最小的并行单位,一个分区可以被不同组的消费者消费,一个消费者可以消费不同的分区,但一个分区不可被相同组的消费者消费。record以key-value的形式存在,当key为nil是,会遍历存入各个分区, 相同的key存入相同的分区。

2023-08-07 21:56:09 49

原创 329. Longest Increasing Path in a Matrix

Given an integers , return the length of the longest increasing path in .From each cell, you can either move in four directions: left, right, up, or down. You may not move diagonally or move outside the boundary (i.e., wrap-around is not allowed).!https:

2023-07-22 12:06:23 34

原创 最小的交换次数

给定一个只含有‘G’,‘B’的字符串,只能交换左右相邻的字符,使得G和B分别在两侧所最小的交换次数为?

2023-07-22 10:11:45 35

原创 非循环实现near2power

不用循环实现找到≥x最小的2的次方数。

2023-07-22 09:53:33 33

原创 绳子覆盖的最长距离

给定一个排好序的整数数组,每个元素代表在数轴上的坐标。给定一个长度为L(L>0)绳子,问绳子最大覆盖的点数。

2023-07-22 09:29:41 27

原创 排序算法总结

最坏情况是有序数组,如[1,2,3,4,5]这时时间复杂度为O(N^2)。对于[5,6,5,3],第一次排序后[3,6,5,5],稳定性被破坏。将数组调整为堆:由上到下O(N*logN),由下到上O(N)堆排序:交换堆顶和堆低元素,在向下调整,O(N*logN)因为每个递归都会销毁本次递归申请的数组,所以最大为O(N)最好情况是排序后partiton落在中点,T(N)=2。时间:O(N+M),遍历数组求出范围+遍历范围填充数组。T(N/2),由master定理,T(N)=O(N。

2023-07-19 09:56:05 25

原创 ch4-channel

唯一可能panic的就是向关闭的channel中写数据,向nil中读写会被一直阻塞。

2023-07-19 09:55:01 27

原创 ch4-channel

唯一可能panic的就是向关闭的channel中写数据,向nil中读写会被一直阻塞。

2023-07-15 21:36:08 31

原创 heap简介

分为大、小根堆。大根堆:父节点≥子节点,小根堆同理。

2023-07-14 15:35:49 29

原创 GRPC框架入门

前端发送请求时,需要和后端确定协议、服务器地址、路径、参数、数据类型(json,XML,二进制流)、数据编码、安全性(那里存放token)、错误处理等。

2023-07-13 20:33:23 52

原创 ch3-map

map的主要结构是一个bucket数组。每个bucket可以储存8个hash值一类的key-value对,key的hash值前八位决定落在某个具体的槽位。当有第9个是,会创建一个新的bucket,,并且,key和value分开存放,而不是key/value/key/value这样交替存放。这样做在某些情况下可以忽略padding字段。当key和value都不是指针,并且小于128B时,overflow字段会移动到extra字段。避免gc扫描整个bucket。

2023-07-12 16:20:01 35

原创 二分问题模板

给定数组arr,大小为N。

2023-07-01 22:51:52 26

原创 ch3-slice

切片是对数组的封装,切片实际上是一个含有:容量(cap)、长度(len)、底层数组(array)的结构体。不同长度的数组,即便含有相同的数据类型也是不同的类型。而切片则是相同的类型。

2023-06-29 08:51:12 38

原创 ch2-defer

可以让defer后的语句在当前函数执行完成后执行。应用场景:在打开文件下一场使用defer避免忘记关闭。但是,defer具有短暂延迟,对于高性能的程序尽量避免使用。

2023-06-20 11:36:48 29

原创 ch1-逃逸分析

分析一个变量分配时堆上还是栈上。

2023-06-19 11:49:00 55

原创 【CSAPP】 lab1 datalab

1.实验详解1.1 bitXor/* * bitXor - x^y using only ~ and & * Example: bitXor(4, 5) = 1 * Legal ops: ~ & * Max ops: 14 * Rating: 1 */int bitXor(int x, int y) { return ~(~x&~y)&~(x&y);}思路异或运算的逻辑表达式是对应的是return (x&

2021-10-24 14:53:30 341

原创 【CSAPP】lab0 环境的配置

【CSAPP】lab0 环境的配置引言我的环境配置折腾了一下午,其实很简单(前提是你已经安装过linux虚拟机)。整体分为三步:1. 下载源码2. 配置gcc环境3. 验证具体步骤1. 下载源码

2021-10-22 00:08:32 1955

空空如也

空空如也

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

TA关注的人

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