2019年9月13日

.NET Core 3.0 可卸载程序集原理简析

摘要:因为最近在群里被问到如何理解 .NET Core 3.0 可卸载程序集,所以就写了这篇简单的分析。 因为时间实在很少,这篇文章只简单的罗列了相关的代码,请配合官方说明文档理解。 另外,书籍《.NET Core 底层原理》预计 11 月出版,出版社比较拖 :O。 链接 可卸载程序集的官方说明文档如下: 阅读全文

posted @ 2019-09-13 09:25 q303248153 阅读 (47) 评论 (1) 编辑

2019年5月28日

ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot)

摘要:因为没有给域名续费,加上私人时间不足,ZKWeb 的官网和演示站点已经停止了几个月的时间。 最近时间开始变多,所以重新购买了别的域名和服务器把官网和演示站点重新部署上去。 在此前站点是托管在共享主机上的 Windows + IIS 上的,而现在已经换为了 Linux + Nginx,费用比使用共享主 阅读全文

posted @ 2019-05-28 13:42 q303248153 阅读 (89) 评论 (0) 编辑

ZKWeb网页框架2.2.1正式发布

摘要:2.2.1 更新的内容有 改进 EFCore 支持 支持自动 json 序列化字段 (通过 WithSerialization 选项) 支持懒加载 更新后 EFCore 可以使用所有默认插件 (ZKWeb.Plugins),但由于缺乏自动多对多支持部分功能会受影响, 因此目前仍然推荐使用 NHibe 阅读全文

posted @ 2019-05-28 13:41 q303248153 阅读 (72) 评论 (1) 编辑

2018年12月24日

ZKWeb网页框架2.2正式发布

摘要:2.2.0更新的内容有 重构依赖注入容器 使用无锁算法 (可能导致不兼容) 使用 ContainerFactoryData 创建实例 (可能导致不兼容) 删除静态的 ContainerFactoryCache 简化代码 (可能导致不兼容) 更新接口 IMultiConstructorResolver 阅读全文

posted @ 2018-12-24 08:53 q303248153 阅读 (211) 评论 (1) 编辑

2018年3月26日

ZKWeb网页框架2.1正式发布

摘要:2.1.0更新的内容有 更新引用类库 NHibernate 5.1.0 Npgsql 3.2.7 MySqlConnector 0.37.0 Dapper 1.50.4 Dommel 1.10.1 ZKWeb.System.Drawing 4.0.1 ZKWeb.Fork.FluentNHibern 阅读全文

posted @ 2018-03-26 09:13 q303248153 阅读 (491) 评论 (2) 编辑

2017年12月27日

比最差的API(ETW)更差的API(LTTng)是如何炼成的, 谈如何写一个好的接口

摘要:最近这几天在帮 "柠檬" 看她的APM系统要如何收集.Net运行时的各种事件, 这些事件包括线程开始, JIT执行, GC触发等等. .Net在windows上(NetFramework, CoreCLR)通过ETW(Event Tracing for Windows), 在linux上(CoreC 阅读全文

posted @ 2017-12-27 16:21 q303248153 阅读 (5915) 评论 (12) 编辑

2017年11月22日

Golang源码探索(三) GC的实现原理

摘要:Golang从1.5开始引入了三色GC, 经过多次改进, 当前的1.9版本的GC停顿时间已经可以做到极短. 停顿时间的减少意味着"最大响应时间"的缩短, 这也让go更适合编写网络服务程序. 这篇文章将通过分析golang的源代码来讲解go中的三色GC的实现原理. 这个系列分析的golang源代码是G 阅读全文

posted @ 2017-11-22 17:04 q303248153 阅读 (10458) 评论 (13) 编辑

2017年11月10日

Golang源码探索(二) 协程的实现原理

摘要:Golang最大的特色可以说是协程(goroutine)了, 协程让本来很复杂的异步编程变得简单, 让程序员不再需要面对回调地狱, 虽然现在引入了协程的语言越来越多, 但go中的协程仍然是实现的是最彻底的. 这篇文章将通过分析golang的源代码来讲解协程的实现原理. 这个系列分析的golang源代 阅读全文

posted @ 2017-11-10 17:23 q303248153 阅读 (11024) 评论 (6) 编辑

2017年11月3日

Golang源码探索(一) 编译和调试源码

摘要:GO可以说是近几年最热门的新兴语言之一了, 一般人看到 分布式 和 大数据 就会想到GO, 这个系列的文章会通过研究golang的源代码来分析内部的实现原理, 和CoreCLR不同的是, golang的源代码已经被很多人研究过了, 我将会着重研究他们未提到过的部分. 另一点和CoreCLR不同的是, 阅读全文

posted @ 2017-11-03 11:55 q303248153 阅读 (8850) 评论 (0) 编辑

2017年10月28日

AsyncLocal的运作机制和陷阱

摘要:这是今天帮 "柠檬" 分析一个 "AsyncLocal相关的问题" 时发现的. 试想这个代码输出的值是多少? 答案是123. 为什么修改了 的值却无效呢? 这要从AsyncLocal的运作机制说起. 首先这是 "AsyncLocal的源代码" : 获取和设置值用的是 和`ExecutionConte 阅读全文

posted @ 2017-10-28 15:55 q303248153 阅读 (1198) 评论 (6) 编辑

导航