摘要: make和new的区别 作为go中的两个内置函数,主要用来创建和分配内存,创建内存时的规则如下: new只能用来分配内存 make只能用于slice、map以及channel等引用类型的初始化 引用类型和值类型 在讲new和make的使用场景之前,先介绍一下golang中的值类型和引用类型。 值类型 阅读全文
posted @ 2021-08-27 09:01 _Koln 阅读(634) 评论(0) 推荐(0)
摘要: 逃逸分析 逃逸分析是指由编译器决定内存分配的位置,不需要程序员指定,不逃逸的放栈上,可能逃逸的都要放在堆上,在函数中申请一个新的对象: 如果分配在栈中,则函数执行完成后自动将内存进行回收 如果分配在堆中,则函数执行完成之后可交给垃圾回收器进行回收 栈和堆 应用程序在运行时只会存在一个堆,程序运行器将 阅读全文
posted @ 2021-08-26 15:01 _Koln 阅读(160) 评论(0) 推荐(0)
摘要: 协程 概念 协程是轻量级的线程,创建成本很低,与线程不同的是其不受操作系统调度,协程的调度由用户程序提供,go语言中的协程调度器将协程调度到线程中运行,用户使用go关键字即可创建协程。 与线程相比的优势 ​ 频繁的创建线程会造成不必要的开销,因此引入了线程池的技术,线程池中预先包存一定数量的线程,新 阅读全文
posted @ 2021-08-25 17:24 _Koln 阅读(540) 评论(0) 推荐(0)
摘要: golang中的函数和方法 与C++不同,golang中的函数和方法是两个不同的东西,方法是包含了接收者的函数,下面分享一下我对函数和方法的总结和理解 函数 声明 函数声明包括函数名、形式参数列表、返回值列表(可省略)以及函数体。 func name(parameter-list) (result- 阅读全文
posted @ 2021-08-21 11:05 _Koln 阅读(338) 评论(0) 推荐(0)
摘要: 摘要 UNIX提供了两个系统调用来启动新的进程,分别是fork与exec。其中fork相当于复制其父进程,能够创建一个和当前映像一样的进程。而exec会将二进制程序加载到内存中,替换地址空间原来的内容,并开始执行。 fork #include <sys/types.h> #include <unis 阅读全文
posted @ 2020-05-28 15:16 _Koln 阅读(339) 评论(0) 推荐(0)
点击右上角即可分享
微信分享提示