Golang笔记 Oct 13, 2024

以后可能以golang谋生一段时间了,开个golang的笔记

...
阿里云vps关闭阿里云盾和云监控c++插件 Oct 12, 2024
Grafana告警配置 Oct 11, 2024
Golang的string数据争用导致的panic Oct 11, 2024

简单说下问题:多个goroutine并发读写string,读取string(fmt.Printlnjson.Marshal)的goroutine会panic。根因是string是一个胖指针,除了pointer字段之外还有一个len字段的元数据。在给string变量赋值(拷贝)时,会逐个设置pointer和len字段,这个过程不是原子的。在有并发修改时,pointer和len就不一致了,这时就回发生问题:当len不为0,pointer为nil(0x0)时,就会panic: runtime error: invalid memory address or nil pointer dereference

本文首先探究下为什么golang string有这个问题,然后对比下java的string为什么没这个问题,最后介绍数据争用(data race)问题以及Golang和Rust如何避免该问题。

...
一键关闭WeGame和LOL客户端,避免浪费时间 Oct 1, 2024

如何快速关闭WeGame和LOL客户端?恶心的wegame总是在关闭游戏的时候浪费我时间,所以写了一个批处理文件,一键关闭wegame和LOL客户端。

...
Huawei手机防杀后台 Sep 22, 2024

设置里搜索下面两个设置,然后参考下面UU加速器的教程进行设置即可

  1. 应用启动管理
  2. 电池优化
...
macOS一些配置 Sep 22, 2024
Rust学习路径 Sep 22, 2024

为什么学习rust?

  • 高性能:Rust 速度惊人且内存利用率极高。由于没有运行时和垃圾回收,它能够胜任对性能要求特别高的服务,可以在嵌入式设备上运行,还能轻松和其他语言集成。
  • 可靠性:Rust 丰富的类型系统和所有权模型保证了内存安全和线程安全,让您在编译期就能够消除各种各样的错误。
  • 生产力:Rust 拥有出色的文档、友好的编译器和清晰的错误提示信息, 还集成了一流的工具——包管理器和构建工具, 智能地自动补全和类型检验的多编辑器支持, 以及自动格式化代码等等。
...
Windows11 WSL2使用 Sep 22, 2024

wsl全称是windows的linux子系统,可以理解为在你的windows电脑上提供一个linux的工作环境。

...
OBS直播、录屏 Sep 7, 2024