摘要: 用户程序通过内存分配器(Allocator)在堆上申请内存,而垃圾收集器(Collector)负责回收堆上的内存空间,内存分配器和垃圾收集器共同管理程序中的堆内存空间。 基本概念 垃圾分类 语义垃圾:也就是内存泄漏,指的是从语法上可达的对象,也就是被其他对象引用的,但是从语义上来讲是垃圾。这类垃圾, 阅读全文
posted @ 2021-09-02 11:38 aaayi 阅读(311) 评论(0) 推荐(1) 编辑
摘要: 现在无论是客户端、服务端或web开发都会涉及到多线程的概念。那么大家也知道,线程是操作系统能够进行运算调度的最小单位,同一个进程中的多个线程都共享这个进程的全部系统资源。 线程 三个基本概念 内核线程:在内核空间实现的线程,由内核管理 用户线程:在用户空间实现的线程,不归内核管理,由用户态完成管理 阅读全文
posted @ 2021-07-06 08:49 aaayi 阅读(385) 评论(2) 推荐(0) 编辑
摘要: 控制反转和依赖注入的概念在网络上有大量的解释,很多都非常的详细,但对我来说过多的解释,容易把我绕来绕去,昨天听大佬的课,突然清晰地顿悟了。希望通过简单的描述,记录我的理解。 控制反转(IOC): 下面通过两张简单的图,了解一下控制反转的思想,我们假设自己现在想吃回锅肉! 首先,我们可以自己炒一道符合 阅读全文
posted @ 2021-06-24 15:35 aaayi 阅读(624) 评论(1) 推荐(4) 编辑
摘要: Docker指令记录 对docker指令及踩坑记录,不包含具体原理及过程。参照https://www.cnblogs.com/clsn/p/8410309.html#auto-id-17有详细教程。 一、Docker基础指令 1.镜像 1.1 搜索dockerhub官方镜像 docker searc 阅读全文
posted @ 2020-08-16 21:26 aaayi 阅读(340) 评论(0) 推荐(3) 编辑
摘要: 用户程序通过内存分配器(Allocator)在堆上申请内存,而垃圾收集器(Collector)负责回收堆上的内存空间,内存分配器和垃圾收集器共同管理程序中的堆内存空间。 基本概念 垃圾分类 语义垃圾:也就是内存泄漏,指的是从语法上可达的对象,也就是被其他对象引用的,但是从语义上来讲是垃圾。这类垃圾, 阅读全文
posted @ 2021-09-02 11:38 aaayi 阅读(311) 评论(0) 推荐(1) 编辑
摘要: 一、channel channel分为有buffer的和没有buffer的。 没有buffer的可以当成有buffer但是buffersize为0的情况。 buffer数据结构: type hchan struct { qcount uint // 当前chan中有多少数据 dataqsiz uin 阅读全文
posted @ 2021-08-14 15:15 aaayi 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 现在无论是客户端、服务端或web开发都会涉及到多线程的概念。那么大家也知道,线程是操作系统能够进行运算调度的最小单位,同一个进程中的多个线程都共享这个进程的全部系统资源。 线程 三个基本概念 内核线程:在内核空间实现的线程,由内核管理 用户线程:在用户空间实现的线程,不归内核管理,由用户态完成管理 阅读全文
posted @ 2021-07-06 08:49 aaayi 阅读(385) 评论(2) 推荐(0) 编辑
摘要: 在Go语言领域遨游了几个月后,发现自己对Go语言相关的工程目录结构有些不了解,按照原来的习惯在Go工程中建立的目录结构显得比较奇怪,好的目录结构绝对是可以加强工程效率的,所以接下来会参考煎鱼、毛大等大佬项目的结构做分析并且改造一个我的半成品项目。 每个项目的目录结构并不是有规定模板的,也有很多优秀的 阅读全文
posted @ 2021-07-02 09:22 aaayi 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 控制反转和依赖注入的概念在网络上有大量的解释,很多都非常的详细,但对我来说过多的解释,容易把我绕来绕去,昨天听大佬的课,突然清晰地顿悟了。希望通过简单的描述,记录我的理解。 控制反转(IOC): 下面通过两张简单的图,了解一下控制反转的思想,我们假设自己现在想吃回锅肉! 首先,我们可以自己炒一道符合 阅读全文
posted @ 2021-06-24 15:35 aaayi 阅读(624) 评论(1) 推荐(4) 编辑
摘要: sync.Once 常应用于单例模式,例如初始化配置、保持数据库连接等。 init函数通常是所在package首次被加载时执行,如果一直没有被调用就会浪费内存。 sync.Once可以在代码任意位置初始化和调用,因此可以延迟到使用时在执行,并发场景下时线程安全的。(类似于C#中的Lazy语法,懒加载 阅读全文
posted @ 2021-06-20 18:15 aaayi 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 要不要搞单元测试? 一、什么是单元测试? 单元测试的基本概念: 对软件中的最小可测试单元进行检查和验证 ①单元的定义:代码中可度量的最小单元(函数、方法) ②检查和验证:不同的输入对应的输出是否与预期一致 二、如何进行单元测试? 1.要进行单元测试首先需要知道单元测试需要的几个基本原则: ①自动化: 阅读全文
posted @ 2021-01-05 09:20 aaayi 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 简单微服务搭建 一、下载并启动Consul 访问www.consul.io下载最新版Consul,下载后命令行启动: consul.exe agent -dev consul默认端口是8500,打开localhost:8500就可以看到已经启动了Consul。 二、创建一个服务 应用注册到Consu 阅读全文
posted @ 2020-09-22 08:51 aaayi 阅读(453) 评论(2) 推荐(4) 编辑
摘要: Docker指令记录 对docker指令及踩坑记录,不包含具体原理及过程。参照https://www.cnblogs.com/clsn/p/8410309.html#auto-id-17有详细教程。 一、Docker基础指令 1.镜像 1.1 搜索dockerhub官方镜像 docker searc 阅读全文
posted @ 2020-08-16 21:26 aaayi 阅读(340) 评论(0) 推荐(3) 编辑
摘要: Binding用于绑定控件属性的值。 Binding的模型 从Binding模型中可以看出,Binding对象作为目标和源之间的桥梁,除了著名的双向绑定特征外,WPF还在Binding中添加了一些机制方便我们更加方便的处理数据,比如校验器和转换器。 下面就来看看Binding对象到底实现了哪些属性? 阅读全文
posted @ 2020-06-19 22:48 aaayi 阅读(241) 评论(0) 推荐(0) 编辑