Huweicai
Home
(current)
About
Archives
Huweicai
好奇心探索世界
善意假设
做最酷的事情
Hello, World!
~ Enjoy Today ~
Categories
Go (3)
English (1)
Featured Tags
linux (10)
go (6)
容器 (6)
操作系统 (6)
编程语言 (6)
计算机网络 (6)
存储 (5)
cloudnative (4)
kubernetes (4)
cilium (2)
docker (2)
ebpf (2)
ip (2)
java (2)
kernel (2)
命令行 (2)
c++ (1)
compiler (1)
cpp (1)
cpu (1)
en (1)
ethernet (1)
git (1)
harbor (1)
http (1)
innodb (1)
jvm (1)
mysql (1)
pprof (1)
programing (1)
python (1)
redis (1)
shell (1)
tcp (1)
yuv (1)
办公效率 (1)
图像 (1)
并发 (1)
数据库 (1)
文件系统 (1)
日志 (1)
权限管理 (1)
硬件 (1)
磁盘 (1)
镜像 (1)
音视频 (1)
««
«
1
2
3
4
5
6
7
»
»»
Go语言sync包实现原理分析
2020-01-10
6 minutes read
Java 语言中有一个 java.util.Concurrent 包提供了大量的并发工,而 Go 语言中也有这样的角色:sync包。 sync.Mutex 锁实现原理 sync.Mutext 是 Go 提供的一种同步原语,用于表达互斥,不过不推荐在业务中使用,根据 Go 的设计思想,应首先考虑通过传递消息(管道)来共享内存,而不是通过共享内存来传递消息 Mutex 结构体如下,只有两个变量,非常简单: type Mutex struct { state int32 // 状态,bitmap sema uint32 // 信号量 } state 字段是一个位图 第 0 位表示是否加锁 第 1 位表示是否已唤醒 第 2 位表示是否为饥饿模......
go
并发
编程语言
Go 多路条件语句 Switch 语法详解
2020-01-02
3 minutes read
Switch 是 Go 语言中一种多路条件语句,一般搭配 case 语句使用。 执行逻辑 一个 switch case 条件结构如下所示: switch simpleStatement; condition { case expression1,expression2: statements case expression3: statements default: statements } 和 if 语句类似,switch 语句也可以在条件语句之前执行一段简短的表达式(可以用于很方便的控制变量的作用域),switch case 开始执行时,会先执行这一个表达式(空也算一种),然后计算出条件语句的值,接着按从上到下,从左到右的顺序一个一个的执行 case 语句的条件表达式,如果值相等的话就会进入执行 case 条件......
go
go
编程语言
MySQL建表选项
2019-11-13
7 minutes read
这是一个很常见的 SQL 建表语句: CREATE TABLE `people` ( `id` int NOT NULL AUTO_INCREMENT, `name` varchar(40) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 SQL 建表语句结构如下: CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name (create_definition,...) [table_options] 我们对照结构可以看到我们的建表语句最后一部分是表选项,而在这里我们指定了两个选项:引擎和字符集,那么总共都有哪些选项可以设置呢?参照MySQL官方文档,我们一起来看看。 AUTO_INCREMENT MySQL 一张表中可以指定一个字段为 auto increment,这样在当这个字段没有指定值时就在当前表最大值的基础上自增,在插入了自增的一......
MySQL
InnoDB
数据库
存储
在线 Markdown 转 PDF 工具评测
2019-07-02
2 minutes read
用 Markdown 写了这么久博客,对于这种简约风格还是非常喜欢的,所以在写一些其他文档的时候我也更倾向于这种格式。最近需要写一些 PDF 格式的文档,所以我找了一些在线 Markdown 转 PDF 的网站,不同的网站渲染出来的风格并不一样,我在下面做了一个对比,帮助大家进行选择。 测试数据 # 测试测试 1111111111 / 测试 / 123 Email: test@test.com Test: test Website: https://github.com.cn * * * 123213123 测出测试 真的测试 测试吧 * * * # 二阶段测试 - 真的测试测试 - 真的测试测试/真的测试测试 - 微博:[@Easy](http:......
办公效率
Java跨平台究竟能跨哪些平台
2019-05-20
3 minutes read
众所周知,Java跨平台的一直被众多Java程序员们津津乐道,“一次编写,到处运行”的设想着实令人心动,虽然会带来一定性能上的问题,但这并不妨碍大家对Java的喜爱,既然都说Java能跨平台,Java 也并不是凭空就能跑在任何机器上,这是不现实的,需要官方针对对应的平台,编译一套对应平台包括 Java 虚拟机(Java Runtime Environment 简称 JRE)在内的 Java 开发工具集(Java Develop Kit,简称 JDK),这样我们编写的 Java 代码才算......
java
jvm
Go知识点杂记
2019-04-05
11 minutes read
Go语言的不足 我在使用 Go 语言编程开发时发现的一些问题,记录: 没有泛型,写工具库时很不方便 Go 把错误当成一种函数返回值来处理自有其设计道理,但是一次只能只能处理一个错误则是语法上的不足 编译器不支持尾递归优化,这对于递归代码而言很不友好 strings 库不像 Java 那样直接支持正则 没有三目运算符 官方库提供的锁不支持重入 Go静态链接编译的做法会把二进制包撑的特别大,虽然这带来了较好的可移植性 使用首字母大小写这种隐式的做法来......
go
go
编程语言
Redis FAQ
2019-01-04
6 minutes read
Redis 官网 FAQ 翻译以及部分自己生产实践总结的问题 官网FAQ地址 Redos持久化策略:RDB和AOF RDB:数据快照,数据整体快照,吞吐量较大,但单次耗时较长,如果在dump的时候宕机可能会导致数据丢失。 AOF:日志追加,占空间比RDB大,但安全性更好,每秒追加一次日志,丢失数据的可能性会小很多,但是宕机恢复很慢。 而在实际生产环境中,我们通常会将两种持久化策略共同使用,定期进行数据快照,同时保留 AOF 日志,在......
redis
存储
««
«
1
2
3
4
5
6
7
»
»»