06 2020 档案
摘要:前言 本文来源于一位公众号童鞋私信我的问题,在我若加思索后给出了其中一种方案,在此之前我也思考过这个问题,借此机会我稍微看了下,目前能够想到的也只是本文所述方案。 为何要忽略主外键关系 我们不仅疑惑为何要忽略主外键关系呢?不难想到,相对于大型企业而言大部分都会采用不建立主外键关系(简称,外键约束),
阅读全文
摘要:前言 在一个拥有32位的地址空间,4KB的页面(212),并且每个PTE为4个字节,那么页表大小为4MB(4 * 232 / 212),但若为64位地址空间,4KB的页面(212)且每个PTE为4字节,那么页表大小为16TB(4 * 264 / 212),由于页表常驻内存,占用内存会很大,所以必须对
阅读全文
摘要:前言 有些时候我们会发现方法名称都正确匹配,但就是找不到对应请求接口,所以本文我们来深入了解下何时会出现接口请求404的情况。 匹配控制器Action方法(404) 首先我们创建一个web api应用程序,我们给出如下示例控制器代码 [ApiController] [Route("[controll
阅读全文
摘要:前言 四月中旬Hangfire团队发布了1.7.11版本,在使用周期性作业调度过程中发现一个问题,这个问题应该一直未解决,故做此记录,希望遇到的童鞋根据项目业务而避开这个问题。 周期性作业调度 我们依然是在控制台中进行测试,下载所需包请参考官方文档,这里不再叙述,首先我们在内存中存储数据,如下: v
阅读全文
摘要:前言 最近在做项目过程中使用到了如题并行方法,当时还是有点犹豫不决,因为平常使用不多, 于是借助周末时间稍微深入了下,发现我用错了,故此做一详细记录,希望对也不是很了解的童鞋在看到此文后不要再犯和我同样的错误。 并行遍历异步表象 这里我们就不再讲解该语法的作用以及和正常遍历处理的区别,网上文章比比皆
阅读全文
摘要:前言 前面我们讲到通过TLB缓存页表加快地址翻译,通过上一节缓存原理的讲解为本节做铺垫引入TLB和缓存的关系,同时我们来完整梳理下从CPU产生虚拟地址最终映射为物理地址获取数据的整个过程是怎样的,若有错误之处,还请批评指正。 TLB和缓存串行访问(Serial TLB & Cache Access)
阅读全文
摘要:前言 本节内容计划是讲解TLB与高速缓存的关系,但是在涉及高速缓的前提是我们必须要了解操作系统缓存原理,所以提前先详细了解下缓存原理,我们依然是采取循序渐进的方式来解答缓存原理,若有叙述不当之处,还请批评指正。 缓存原理 高速缓存被划分为多个块,其大小可能不同,缓存中的块数通常为2的幂。如下为一个具
阅读全文
摘要:前言 上一节我们整体概括通过MMU将虚拟地址翻译为物理地址的转换,这个过程都是按序就班的进行,一切都是基于已提前创建、分配虚拟页、物理页以及命中的前提,只是给和我一样没怎么系统学习操作系统的童鞋首先在脑海里有个大概的印象,本节我们从源头开始分析为程序创建进程到映射到主存上整个详细过程,本文将通过大量
阅读全文