Ride or Die

be yourself

datagrip

datagrip 快捷键 查看所有console alt+2 ...

docker

docker修改镜像存储位置利用wsl进行修改 1wsl --list -v ![wsl list](wsl list.png) 将docker-desktop-data导出到文件中(备份image及相关文件),使用如下命令 1wsl --export docker-desktop-data "D:\\docker-desktop-data.tar" 从wsl取消注册......

c++ 位运算

...

二叉树

二叉树遍历先序遍历根-左-右 递归时间复杂度O(n) 空间复杂度O(n) 1234567891011void pre(TreeNode*root,vector<int>& res){ if(root==nullptr) return ; res.push_back(root->val); pre(root->......

计数

括号的分数给定一个平衡括号字符串 S,按下述规则计算该字符串的分数: () 得 1 分。 AB 得 A + B 分,其中 A 和 B 是平衡括号字符串。 (A) 得 2 * A 分,其中 A 是平衡括号字符串。 856. 括号的分数 - 力扣(LeetCode) 我们通过观察发现,() 是唯一贡献分数的结构,外括号只是为该结构添加了一些乘数。所以我们只需要关心 ()。 我们用 d ......

进程同步问题

进程同步问题生产者-消费者问题1234567891011121314151617//单向通道func producer(out chan <- int){ for i:=0;i<10;i++{ out<-i*i } close(out)}func consumer(in <-chan int){ ......
go

一些奇技淫巧

把下标排序,排序逻辑用数组元素 870. 优势洗牌 - 力扣(LeetCode) sort(idx,idx+n,[&](int i,int j){return nums2[i]<nums2[j];}); ...

go的垃圾回收机制

垃圾回收 三色标记法 灰色:对象已被标记,但这个对象包含的子对象未标记 黑色:对象已被标记,且这个对象包含的子对象也已标记,gcmarkBits对应的位为1(该对象不会在本次GC中被清理) 白色:对象未被标记,gcmarkBits对应的位为0(该对象将会在本次GC中被清理) 例如,当前内存中有A~F一共6个对象,根对象a,b本身为栈上分配的局部变量,根对象a、b分别引用了对象A、B, 而B......
go

GMP

GMP 原理与调度 - 地鼠文档 (topgoer.cn) 线程由 CPU 调度是抢占式的,协程由用户态调度是协作式的 1、我们通过 go func () 来创建一个 goroutine; 2、有两个存储 G 的队列,一个是局部调度器 P 的本地队列、一个是全局 G 队列。新创建的 G 会先保存在 P 的本地队列中,如果 P 的本地队列已经满了就会保存在全局的队列中; 3、G 只能运行......
go

并发编程

并发随写线程和进程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。 B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。 C.一个进程可以创建和撤销多个线程;同一个进程中的多个线程之间可以并发执行。 线程和协程 12协程:独立的栈空间,共享堆空间,调度由用户自己控制,本质上有点类似于用户级线程,这些用户级......
go