11 2018 档案
摘要:0. 简介 整个 Abp 框架最为核心的除了 Abp 库之外,其次就是 Abp.AspNetCore 库了。虽然 Abp 本身是可以用于控制台程序的,不过那样的话 Abp 就基本没什么用,还是需要集合 ASP.NET Core 才能发挥它真正的作用。 在 Abp.AspNetCore 库里面,Abp
阅读全文
摘要:一、背景 你说我 Castle Windsor 库用得好好的,为啥要大费周章的替换成 "DryIoc" 库呢?那就是性能, "DryIoc" 是一款优秀而且轻量级的 DI 框架,整个项目代码就两个文件,加起来代码 1 万行左右(PS: 大部分都是注释)。 在各个 Ioc 容器的 "性能评测" 当中,
阅读全文
摘要:一、CLR 线程池基础 一般来说如果计算机的 CPU 利用率没有 100% ,那么说明很多进程的部分线程没有运行。可能在等待 文件/网络/数据库等设备读取或者写入数据,又可能是等待按键、鼠标移动等事件。 执行 I/O 限制的操作时,操作系统通过设备驱动程序通知硬件干活,而 CPU 处于一种空闲状态。
阅读全文
摘要:一、线程开销 操作系统创建线程是有代价的,其主要开销在下面列举出来了。 内存开销 1. 线程内核对象 拥有线程描述属性与线程上下文,线程上下文占用的内存空间为 x86 架构 占用 700 字节、x64 架构 1240 字节 、ARM 架构 350 字节。 2. 线程环境块(TEB) TEB 消耗一个
阅读全文
摘要:一、什么是运行时序列化 序列化的作用就是将对象图(特定时间点的对象连接图)转换为字节流,这样这些对象图就可以在文件系统/网络进行传输。 二、序列化/反序列化快速入门 一般来说我们通过 FCL 提供的 对象就可以将一个对象序列化为字节流进行存储,或者通过该 Formatter 将一个字节流反序列化为一
阅读全文