深入理解 go interfaceinterface 是什么在 go 里面通过 interface 实现了泛型、多态等面相对象特性, 那么在 go 的 interface 到底是什么 省略掉繁琐的编译过程(暂时对go tool 生成的汇编代码看的不是很懂), 拿出结论: 空接口 interface{} 底层结构是 eface 具体的 interface 类型底层结构是 iface iface 和 eface 2023-07-11 go #interface
go pprof使用pprof 简介工欲善其事必先利其器, java 中有 async-profile、 arthas、jstack/jmap/jstat 等一系列工具来辅助排查性能问题 在 linux 下,常用的调试定位工具: vmstat、iostat、 mpstat、netstat、 sar 、top:查看系统、程序信息等 gprof、perf、perf top:定位到具体函数、调用等 strace、ltra 2023-06-25 go #tools
go context原理context 是什么在官方文档中对 context 描述如下: 1A Context carries a deadline, a cancellation signal, and other values across 翻译过来就是: 携带了超时时间、取消信号和值的一种结构。 在 go 语言开发中, context 用于提供上下文的联系, 在不同协程调用间建立取消和超时机制,也可以用于传递相关值 2023-06-15 go #context
从进程开始了解GMP模型进程和线程进程是操作系统分配资源(CPU、内存、文件)、调度任务和执行的一个基本单位。它拥有独立的内存空间、已分配的资源和独立的执行上下文。线程是CPU调度的基本单位,同一进程内的线程共享了进程的资源和内存空间。 系统将内存分为两个区域: 内核空间(Kernal Space): 内核空间是指用于运行操作系统内核、驱动程序等低级系统组件的特殊内存区域。在这个区域中,代码拥有对硬件的完全访问权限,包 2023-06-05 go #gmp
文件操作之 FileChannel 与 mmapJava 中的文件读写Java 中原生读写方式大概可以被分为三种:普通 IO,FileChannel(文件通道),mmap(内存映射)。 例如 FileWriter,FileReader 存在于 java.io 包中,他们属于普通 IO;FileChannel 存在于 java.nio 包中,也是 Java 最常用的文件操作类;而 mmap,则是由 FileChannel 调用 map 方法衍生出 2022-09-17 IO #IO