因为服务器的版本过低(centos7),导致Node18安装失败。本文记录了升级过程,希望遇到相似问题的同学能够提供帮助。centos7服务器使用nvm安装的node之后,只要使用npm或者node,均会出现文中问题
余华的首部自传体小说《十八岁出门远行》,我真希望自己在20岁就看到这短短的4543个字,那样的话替我挨社会毒打的就是余华了,而我也能在远行之前学到他真实又颠覆的人生经验。今天咱们就结合这本书以及我个人失败的成长经历,聊聊那些越早知道越好的事情。
本文整理了七种常见 GC 算法的基本原理,包括 GC 标记-清除法、引用计数法、GC 标记-复制算法、GC 标记-压缩算法、保守式 GC、分代垃圾回收、增量式垃圾回收(三色标记法),可以作为学习 GC 知识的框架。
在Go语言的编程实践中,内存变量使用是经常遇到的问题。特别是在处理复杂数据结构或自定义类型时,如何正确、高效对变量进行使用变得尤为重要。深拷贝与浅拷贝是处理数据复制时常用的两种策略,它们各自有着不同的应用场景和优缺点。深拷贝和浅拷贝是编程中处理对象或数据结构复制时的两种主要策略。理解它们之间的基本概念和差异对于避免潜在的数据共享和修改冲突至关重要。下面我们就进行深入学习一下。
对任何人而言,改变都不容易。让一个夜猫子突然每天准时睡觉,很可能会导致痛苦失眠;让一个常年抽烟的人突然戒烟,一定会觉得浑身难受。但每天尝试改变一点点,一步一个台阶,不知不觉中就会从量变飞跃为质变。
如果想程序少 panic,goroutine 并发读写同一个变量就需要加锁,这应该是深入到我们的习惯中。本文讲详细带大家介绍Go中并发控制常用方法,希望在工作中能给大家带来帮助。但是总有人以为,不加锁导致的问题最多就是读取的数据是修改前的数据(数据不一致性),不能保证原子性而已。 是这样的吗? 其实这些都是典型的误解。在 Go(甚至是大部分语言)中,一条普通的赋值语句其实并不是一个原子操作。
context 主要用来在 goroutine 之间传递上下文信息,包括:取消信号、超时时间、截止时间、元数据传递等。 本文通过对Context源码阅读,对其有更深的理解,以便在工作中正确使用。
Go语言凭借其简洁、高效、并发支持等特性逐渐崭露头角。作为一门开源的静态编程语言,Go语言自带了丰富的标准库,为开发者提供了强大的工具和功能。本文将深入介绍Go语言几种标准库,帮助读者更好地了解和利用这些库,提高编程效率。
以前我坚信,想要学习好就往死里学,但为什么有些学生努力了还是学不好,而有些学生不努力反到成绩高。所以我怀疑在努力跟学习之间应该还有个变量,像魔法辅助一样,可以给某些学生叠buff,今天咱们就聊聊这个神奇的变量。看看哪些学习策略最符合脑科学原理,简单好用又极其有效。
Go虽然是自动GC类型的语言,但在编码过程中如果不注意,很容易造成内存泄漏的问题。比较常见的是发生在 slice、time.Ticker、goroutine 等的使用过程中,这里结合我们日常中经常遇到的,以及网上搜集到一些Case进行系统性的总结一下,希望对你的日常工作有所帮助。例如:由于数组是Golang的基本数据类型,每个数组占用不同的内存空间,生命周期互不干扰,很难出现内存泄漏的情况,但是数组作为形参传输时,遵循的是值拷贝,如果函数被多个goroutine调用且数组过大时,则会导致内存使用激增。