本博客因为部署在netlify, 所以可能会出现部分图片加载不出来的情况。如有必要请科学上网!

  • leetcode-160

    leetcode 160 相交链表 题目描述:相交链表 方法 哈希表 先遍历链表A,用哈希表记录下所有出现过的节点的地址。然后再遍历链表B,逐个判断节点是否在哈希表中。第一个在哈希表中出现的节点便是公共结点。 双指针 无论两个链表是否相交,它...
  • leetcode-160

    leetcode 236 二叉树的最近公共祖先 题目描述:二叉树的最近公共祖先 方法 递归 递归遍历整棵二叉树,定义 f(x) 表示 x 节点的子树中是否包含 p 节点或 q 节点,如果包含为 true,否则为 false。那么符合条件的最近公共...
  • Dart语法基础

    本篇主要记录Dart语言的基础语法,如果我长时间不用Dart而导致遗忘可以看这篇文章快速回忆。非教程!!!。 基础语法 12345678910111213141516171819202122232425262728293031323334353637...
  • 给git push和git pull设置代理

    git设置ssh代理 主要是方便git push和git pull走代理。 Linux端: 编辑~/.ssh/config文件,没有则创建一个: 123456Host github.com Hostname github.com # Po...
  • GO语言SingleFlight包的使用

    SingleFlight singleflight 包主要是用来做并发控制,常见的比如防止缓存击穿。 singleflight 包提供了一种“重复函数调用抑制机制”。 换句话说,当多个 goroutine 同时尝试调用同一个函数(基于某个给定的 ke...
  • GO语言sync包的使用

    sync.Mutex 互斥锁。sync.Mutex在使用的时候要注意:对一个未锁定的互斥锁解锁将会产生运行时错误。 使用示例: 1234567891011121314151617181920212223242526272829303132333435...
  • 缓存雪崩、缓存击穿和缓存穿透

    缓存 缓存用于存储那些频繁访问的数据,以减少重复计算或数据获取的时间。因为直接访问数据库需要读取磁盘,而磁盘的访问速度是很慢的。 应用程序处理一个请求时,都会先去缓存中获取数据,如果缓存中没有,再去数据库中获取。因此也就产生了缓存雪崩、击穿和穿透。 ...
  • GO-优雅等待所有子协程结束

    为什么要等待子协程结束 可能是因为cpp写多了(bushi。众所周知,在cpp中,有thread.join()可以等待线程结束。但是GO中的协程没有这类API,所以就有了这个问题。主要平时写demo程序时,总是需要等待子协程结束才能完成看出来协程的调...
  • 给flatpak安装的应用设置代理

    给flatpak安装的应用设置代理 进入目标应用的沙箱环境: 1flatpak run --command=sh 包名 包名查找: 1flatpak list 在沙箱环境内设置代理: 12345678910gsettings set org.gnom...
/7