全部文章
解决 Centos 使用 yum 时镜像源拉取失败的问题
解决 Centos 使用 yum 时镜像源拉取失败的问题
阻塞和非阻塞的区别
阻塞和非阻塞的区别主要有以下几点,调用者在等待返回结果时的状态不同。阻塞时,调用者会一直等待,直到得到结果;非阻塞时,调用者不需要等待结果。针对IO操作的状态......
同步和异步的区别
同步和异步还可以指计算机多线程的异步处理。与同步处理相对,异步处理不用阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程。
Go slice的底层实现原理?
切片是基于数组实现的,它的底层是数组,可以理解为对底层数组的抽象,其占用 24 个字节,包含数据指针(8字节)、切片的长度(8字节)、切片的容量(8字节)三个字段
Go内置函数make和new的区别?
初始化变量一般分为两步:变量声明 + 变量内存分配,在 Go 语言中 var 关键字用来声明变量的,若声明变量是值类型系统会默认为他分配内存空间,并赋该类型的零值。
Go defer关键字的实现原理?
defer 能够让我们推迟执行某些函数调用,推迟到当前函数返回前才实际执行。defer 与 panic 和 recover 结合,形成了Go语言风格的异常与捕获机制。defer 语句经常被用于处理成对的操作,如文件句柄关闭、连接关闭、释放锁。虽然 defer 方便开发者使用,但是也有一定的性能损耗。
Go函数参数传递到底是值传递还是引用传递?
Go语言中所有的传参都是值传递(传值),都是一个副本,一个拷贝。是否可以修改原内容数据,和传值、传引用没有必然的关系。但在Go语言里因为参数是引用类型,虽然只有传值,但是我们还是可以修改原内容数据。
Go函数返回局部变量的指针是否安全?
一般来说,局部变量会在函数返回后被销毁,因此被返回的引用就成为了 “无所指” 的引用,程序会进入未知状态。但这在 Go 中是安全的,Go 编译器将会对每个局部变量进行逃逸分析。如果发现局部变量的作用域超出该函数,则不会将内存分配在栈上,而是分配在堆上,因为他们不在栈区,即使释放函数,其内容也不会受影响。
Go方法值接收者和指针接收者的区别?
如果方法的接收者是指针类型,无论调用者是对象还是对象指针,修改的都是对象本身,会影响调用者;如果方法的接收者是值类型,无论调用者是对象还是对象指针,修改的都是对象的副本,不影响调用者;
Go 语言常见知识点总结
Go 语言常见知识点总结,相关开发技巧,避坑指南
MySQL 如何从查看和管理正在运行的线程
有时,您可能会收到MySQL服务器返回的 “太多连接” 错误。要找出原因,可以使用 SHOW PROCESSLIST 命令。该命令的作用是返回所有当前运行的线程。然后,您可以使用 KILL 语句终止空闲线程
MySQL表维护
MySQL 提供了几个有用的语句,允许您有效地维护数据库表。这些语句使您可以分析,优化,检查和修复数据库表。
MySQL访问控制系统
MySQL 实现了一个复杂的访问控制和权限系统,允许您创建全面的访问规则来处理客户端操作并有效防止未经授权的客户端访问数据库系统。
MySQL 表相关操作
MySQL 表相关操作,表管理相关
电路交换
在通信开始前,通信双方要在网络上建立专属信道来发送数据,信道至少会持续到通信结束才会断开。