摘要:2.2.0更新的内容有 重构依赖注入容器 使用无锁算法 (可能导致不兼容) 使用 ContainerFactoryData 创建实例 (可能导致不兼容) 删除静态的 ContainerFactoryCache 简化代码 (可能导致不兼容) 更新接口 IMultiConstructorResolver 阅读全文
posted @ 2018-12-24 08:53 q303248153 阅读(325) 评论(1) 推荐(2) 编辑
摘要: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 阅读(651) 评论(2) 推荐(3) 编辑
摘要:最近这几天在帮 "柠檬" 看她的APM系统要如何收集.Net运行时的各种事件, 这些事件包括线程开始, JIT执行, GC触发等等. .Net在windows上(NetFramework, CoreCLR)通过ETW(Event Tracing for Windows), 在linux上(CoreC 阅读全文
posted @ 2017-12-27 16:21 q303248153 阅读(6379) 评论(12) 推荐(25) 编辑
摘要:Golang从1.5开始引入了三色GC, 经过多次改进, 当前的1.9版本的GC停顿时间已经可以做到极短. 停顿时间的减少意味着"最大响应时间"的缩短, 这也让go更适合编写网络服务程序. 这篇文章将通过分析golang的源代码来讲解go中的三色GC的实现原理. 这个系列分析的golang源代码是G 阅读全文
posted @ 2017-11-22 17:04 q303248153 阅读(17015) 评论(13) 推荐(29) 编辑
摘要:Golang最大的特色可以说是协程(goroutine)了, 协程让本来很复杂的异步编程变得简单, 让程序员不再需要面对回调地狱, 虽然现在引入了协程的语言越来越多, 但go中的协程仍然是实现的是最彻底的. 这篇文章将通过分析golang的源代码来讲解协程的实现原理. 这个系列分析的golang源代 阅读全文
posted @ 2017-11-10 17:23 q303248153 阅读(17115) 评论(8) 推荐(22) 编辑
摘要:GO可以说是近几年最热门的新兴语言之一了, 一般人看到 分布式 和 大数据 就会想到GO, 这个系列的文章会通过研究golang的源代码来分析内部的实现原理, 和CoreCLR不同的是, golang的源代码已经被很多人研究过了, 我将会着重研究他们未提到过的部分. 另一点和CoreCLR不同的是, 阅读全文
posted @ 2017-11-03 11:55 q303248153 阅读(12531) 评论(0) 推荐(6) 编辑
摘要:这是今天帮 "柠檬" 分析一个 "AsyncLocal相关的问题" 时发现的. 试想这个代码输出的值是多少? 答案是123. 为什么修改了 的值却无效呢? 这要从AsyncLocal的运作机制说起. 首先这是 "AsyncLocal的源代码" : 获取和设置值用的是 和`ExecutionConte 阅读全文
posted @ 2017-10-28 15:55 q303248153 阅读(2081) 评论(7) 推荐(11) 编辑
摘要:在 "上一篇" 我们对CoreCLR中的JIT有了一个基础的了解, 这一篇我们将更详细分析JIT的实现. JIT的实现代码主要在 "https://github.com/dotnet/coreclr/tree/master/src/jit" 下, 要对一个的函数的JIT过程进行详细分析, 最好的办法 阅读全文
posted @ 2017-10-28 11:48 q303248153 阅读(1669) 评论(3) 推荐(5) 编辑
摘要:很多C 的初学者都会有这么一个疑问, .Net程序代码是如何被机器加载执行的? 最简单的解答是, C 会通过编译器(CodeDom, Roslyn)编译成IL代码, 然后CLR(.Net Framework, .Net Core, Mono)会把这些IL代码编译成目标机器的机器代码并执行. 相信大多 阅读全文
posted @ 2017-10-18 17:27 q303248153 阅读(5515) 评论(22) 推荐(45) 编辑
摘要:2.0.0更新的内容有 更新框架要求 框架要求从 netstandard 1.6 升到 netstandard 2.0 框架要求从 netcoreapp1.1 升到 netcoreapp2.0 更新引用类库 Microsoft.AspNetCore.Hosting.Abstractions 2.0. 阅读全文
posted @ 2017-09-19 12:13 q303248153 阅读(1447) 评论(1) 推荐(2) 编辑