人民币作为石油出口的结算货币意味着什么?

可能有的人不太理解,这件事是个啥?那么就由我来给大家总结一下。

这其实是一个巨大的历史性事件,因为它意味着咱们的人民币正式打响了针对美元的第一枪!

为了清楚明白为什么这么说,就要先了解一下美元霸权是怎么回事,还有美元有多厉害!

有人说过:美国在世界上的霸权地位靠的是三样东西:美元、石油、和航母

阅读全文

定点数与浮点数的区别

小数点在数制中代表一种对齐方式,比如说你要比较1000和200哪个比较大你应该怎么做呢?你必须把他们右对齐:

1
2
1000
200

阅读全文

如何使一个容器运行多个进程?

本文翻译自 https://docs.docker.com/config/containers/multi-service_container/

我们都知道,所谓的容器就是一个被隔离到不同环境的进程而已,那我们如果在一个容器内运行多个进程呢?

一个容器的主进程是 ENTRYPOINT 或者在 Dockerfile 最后的 CMD

阅读全文

浅入哈希表

为什么人们都说 Hash 表查找的时间复杂度是 O(1)?

下面是我在 Stackoverflow 上看到的回答

阅读全文

Go并发打印数字

其实说白了就是流程控制,现在有三个 goroutine,如果控制他们顺序呢?

具体细节忘了,但好像美团面试官就是这么问的

当时没说明白,要是手写一下让面试官看下,说不定就不会挂掉了…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package main

import (
"fmt"
"sync"
)

func main() {
c1 := make(chan struct{})
c2 := make(chan struct{})
group := sync.WaitGroup{}
group.Add(1)
go func() {
fmt.Println("g1")
c1 <- struct{}{}
}()

go func() {
<- c1
fmt.Println("g2")
c2 <- struct{}{}
}()

go func() {
<- c2
fmt.Println("g3")
group.Done()
}()
group.Wait()
}

阅读全文

我所认为的最好二叉树三序遍历

在此感谢 leetcode 网友提供的遍历方法

https://leetcode-cn.com/problems/binary-tree-inorder-traversal/solution/yan-se-biao-ji-fa-yi-chong-tong-yong-qie-jian-ming/

阅读全文

罗马数字求和-leetcode13

题目来源

https://leetcode.com/problems/roman-to-integer/

阅读全文

Git常用命令

这里收集着我平时用到的Git操作 :)

推送到不同的分支

将本地的 master 分支推送到远程仓库的 fixreadme 分支

阅读全文

Go与GC

常见的 GC 算法

引用计数

每个对象分别引用一个计数器 count,被引用则 count + 1,被释放则 count - 1,当 count0 时,该对象可以被清除

阅读全文

go的线程何时会阻塞

什么是协程

OS 并不理解 协程,协程是在 userspace 模拟出来的调度,协程运行在线程之上,所以协程没有上下文切换消耗。

阅读全文