首页
学习
活动
专区
工具
TVP
发布

程序员与猫

专栏作者
61
文章
86947
阅读量
41
订阅数
什么是.NET CLI CLR IL JIT GC,它们是如何工作的
NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。 .NET 是一个全面的产品家族,它建立在行业标准和 Internet 标准之上,提供开发(工具)、管理(服务器)、使用(构造块服务和智能客户端)以及 XML Web 服务体验(丰富的用户体验)。.NET 将成为您今天正在使用的 Microsoft 应用程序、工具和服务器的一部分,同时,新产品不断扩展 XML Web 的服务能力以满足您的所有业务需求。但是对于咱程序员来说这样理解它是否感觉太概念化了,估计也很难有人去记住这些概念。下面是我认为比较好的理解,也不知道说的可对?
潘成涛
2019-05-25
1.6K0
改善C#程序的建议4:C#中标准Dispose模式的实现
需要明确一下C#程序(或者说.NET)中的资源。简单的说来,C#中的每一个类型都代表一种资源,而资源又分为两类:
潘成涛
2019-05-25
6320
.NET 对象生命周期
.NET Framework 的垃圾回收器管理应用程序的内存分配和释放。每次您使用 new 运算符创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,运行库就会继续为新对象分配空间。但是,内存不是无限大的。最终,垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象并执行必要的操作来回收它们占用的内存。在内存大于 2GB 的服务器中,可能需要在 boot.ini 文件中指定 /3GB 开关,以避免当内存仍可供系统使用时出现明显的内存不足问题。当使用非托管资源时,需要构造一个用完后清理自身的类,这时需要编写代码来进行垃圾回收。
潘成涛
2019-05-25
7860
async/await 的基本实现和 .NET Core 2.1 中相关性能提升
前言 这篇文章的开头,笔者想多说两句,不过也是为了以后再也不多嘴这样的话。 在日常工作中,笔者接触得最多的开发工作仍然是在 .NET Core 平台上,当然因为团队领导的开放性和团队风格的多样性(这和 CTO 以及主管的个人能力也是分不开的),业界前沿的技术概念也都能在上手的项目中出现。所以虽然现在团队仍然处于疾速的发展中,也存在一些奇奇怪怪的事情,工作内容也算有紧有松,但是总体来说也算有苦有乐,不是十分排斥。 其实这样的环境有些类似于笔者心中的“圣地” Thoughtworks 的 雏形(TW的HR快来找
潘成涛
2018-07-09
4150
.NET CORE——Console中使用依赖注入
我们都知道,在 ASP.NET CORE 中通过依赖注入的方式来使用服务十分的简单,而在 Console 中,其实也只是稍微绕了个小弯子而已。不管是内置 DI 组件或者第三方的 DI 组件(如Autofac),通过 IServiceCollection 接口我们都可以做到和应用程序的无缝连接。本文将在别给出内置组件和第三方组件(主要是Autofac)在 Console 应用程序中的依赖注入实现方式。 1. 在 Console 中使用内置 DI 组件 网上已经有几篇相关的博客讲解 Console 中的依赖注入
潘成涛
2018-07-09
2K0
月末总结与推书
总结 六月是一年中承上启下的月份,而对我而言,这个六月也有重要的转折性意义——告别了四年的大学生活,领到了第一张毕业证书,接受了第一份真正的工作,又从温杭辗转到了上海,种种事情,或大或小,却是让我一直觉得自由和幸运。 但是除此以外,其实很难有更多怀念的话了,如果非要盖棺定论的话,只能说四年的大学总归没有虚度。从小技术团队的小项目开始,再到后面自感能够独当一面的管理和开发项目,闲暇之余也不忘学习和充实自己,同时也在这些过程中接触了各种各样的人,所谓生活,真是磨人的事情呀。其实也很庆幸毕业前的急流勇退,离开了待
潘成涛
2018-07-09
3990
.NET Core全面扫盲贴
1. 前言 .NET发行至今已经过了十四个年头。随着版本的不断迭代更新,.NET在Windows平台上的表现也是越来越好,可以说Windows平台上所有的应用类型.NET几乎都能完成。 只是成也Windows,败也Windows,这十四年来,除了部分“民间”版本,.NET一直没能在官方支持下摆脱Windows平台的局限,“开源”和“跨平台”这两个词语也是所有.NET开发者心中的痛楚。最终,.NET Core出现了,它让开发者们在官方和社区的支持走出了Windows,可以在macOS,Linux主流distr
潘成涛
2018-07-09
7880
CLR和.Net对象生存周期
前言 对象的生存周期和垃圾回收一直是容易被我们忽略的知识点,因为我们现在高级语言编程平台太“智能”了,自动的异常处理,内存管理,线程同步,以至于我们中的大部分人只需要按部就班面向对象编程就能完成大部分的工作——写接口的时候继承一个IDisposable,释放文件占用的时候强制Close一下,异步编程就用Async和Await…… 比如最近结合ABP框架写Web Api项目的时候,对于最重要的两个消息处理对象HttpRequestMessaga和HttpResponseMessage的释放过程,我几乎完全不用
潘成涛
2018-07-09
7900
async/await 的基本实现和 .NET Core 2.1 中相关性能提升
前言 这篇文章的开头,笔者想多说两句,不过也是为了以后再也不多嘴这样的话。 在日常工作中,笔者接触得最多的开发工作仍然是在 .NET Core 平台上,当然因为团队领导的开放性和团队风格的多样性(这和 CTO 以及主管的个人能力也是分不开的),业界前沿的技术概念也都能在上手的项目中出现。所以虽然现在团队仍然处于疾速的发展中,也存在一些奇奇怪怪的事情,工作内容也算有紧有松,但是总体来说也算有苦有乐,不是十分排斥。 其实这样的环境有些类似于笔者心中的“圣地” Thoughtworks 的 雏形(TW的HR快来找
潘成涛
2018-05-28
5430
.NET Core全面扫盲贴
标签: .NETCore Asp.NETCore 1. 前言 .NET发行至今已经过了十四个年头。随着版本的不断迭代更新,.NET在Windows平台上的表现也是越来越好,可以说Windows平台上所有的应用类型.NET几乎都能完成。 只是成也Windows,败也Windows,这十四年来,除了部分“民间”版本,.NET一直没能在官方支持下摆脱Windows平台的局限,“开源”和“跨平台”这两个词语也是所有.NET开发者心中的痛楚。最终,.NET Core出现了,它让开发者们在官方和社区的支持走出了Wind
潘成涛
2018-01-18
1.6K0
[译]C#和.NET中的字符串
原文地址:Jon Skeet:Strings in C# and .NET System.String 类型(在C#语言中对应的别名是string)是.NET最重要的类型之一,不幸的是在它身上存在了太
潘成涛
2018-01-18
2.4K0
使用抽象类和接口的优解
1. 前言 笔者相信,每个使用面向对象语言的开发者自编码以来,肯定便琢磨过抽象类(Abstract)和接口(Interface)的区别。可能一些人已经找到了适合自己的方式,另一部分却仍然深陷泥沼,每次在说服自己用interface代替abstract class的时候都要使出全身的力气。本篇文章便是笔者从自身体会出发,提出一些关于抽象类和接口使用的优解。假如能对大家有所帮助,那写作的初衷便已经满足了大半。 正如笔者过去的一篇文章《使用HttpClient的优解》的标题所示,即使是谈论编码和类型设计的正确性
潘成涛
2018-01-18
6910
.NET CORE——Console中使用依赖注入
我们都知道,在 ASP.NET CORE 中通过依赖注入的方式来使用服务十分的简单,而在 Console 中,其实也只是稍微绕了个小弯子而已。不管是内置 DI 组件或者第三方的 DI 组件(如Autofac),通过 IServiceCollection 接口我们都可以做到和应用程序的无缝连接。本文将在别给出内置组件和第三方组件(主要是Autofac)在 Console 应用程序中的依赖注入实现方式。 1. 在 Console 中使用内置 DI 组件 网上已经有几篇相关的博客讲解 Console 中的依赖注入
潘成涛
2018-01-18
1K0
使用HttpClient的优解
新工作入职不久,目前仍然还在适应环境当中,笔者不得不说看别人的源码实在是令人痛苦。所幸前些日子终于将工作流畅地看了一遍,接下来就是熟悉框架技术的阶段了。 也正是在看源码的过程当中,有一个比较明显的用法细节引起了我的注意,我发现一位同事在请求远程Web Api时,虽然使用了 HttpClient 类,但是在用法上似乎有些欠考虑。代码抽象出来就是以下的模样: using(var client = new HttpClient()) { //do something } 我们知道 using 关键字常常和
潘成涛
2018-01-18
1.9K0
CLR和.Net对象生存周期
标签:GC .Net C# CLR 前言 对象的生存周期和垃圾回收一直是容易被我们忽略的知识点,因为我们现在高级语言编程平台太“智能”了,自动的异常处理,内存管理,线程同步,以至于我们中的大部分人只需要按部就班面向对象编程就能完成大部分的工作——写接口的时候继承一个IDisposable,释放文件占用的时候强制Close一下,异步编程就用Async和Await…… 比如最近结合ABP框架写Web Api项目的时候,对于最重要的两个消息处理对象HttpRequestMessaga和HttpResponseMe
潘成涛
2018-01-18
1.1K0
结合ABP源码实现邮件发送功能
1. 前言 最近pm临时提出了多种邮件验证操作的需求,因为一时间也没有找到好的邮件收发组件,也抱着研究ABP的心态,就花了几小时时间探究了一下ABP中关于Email的处理和操作。其实邮件操作大多大同小异,这次只是希望介绍一下ABP中实现功能的代码结构而已,以下是具体过程 演示的ABP代码版本为0.9.0.0,不过后面版本对于这部分的修改较少,所以完全不影响之后版本的移植使用 2. 实现过程 ABP的Mail操作放在了Abp.Net.Mail和Abp.Net.Mail.Smtp中,第一步先让我们直接看
潘成涛
2018-01-18
1.1K0
ASP.NET Core服务器综述
原文地址:Servers overview for ASP.NET Core By Tom Dykstra, Steve Smith, Stephen Halter, and Chris Ross ASP.NET Core应用通过一个进程内的HTTP服务器实例实现运行,这个服务器实例侦听HTTP请求并将请求作为组成HttpContext的一组请求功能集暴露给我们的应用程序。 ASP.NET Core搭载两个服务器实现: Kestrel是一个基于libuv的跨平台HTTP服务器,libuv是一个跨平台的异步I
潘成涛
2018-01-18
2.8K0
常见的Web实时消息交互方式和SignalR
标签: WebSocket SignalR 前言 最近因为项目中涉及到了实时数据的传输,特地去了解了一下当前Web应用中常见的实时交互手段,当然一开始也不仅限于Web客户端。从c#自带的Socket类,到Html5中的WebSocket,再到Asp .Net利器SignalR,总算将这块知识点及应用入门了,当然今天的主要内容还是Web端的消息交互技术(Ajax,Comet,WebSocket等),这些技术难度有中有低,应用场所也有不同,最后我们要根据项目情况来选择恰当的技术。接下来便简单介绍一下 1. We
潘成涛
2018-01-18
3.2K0
.NET Core全新路线图(译)
标签: .NETCore 翻译 承接张善友大大的.NET Core全新路线图,翻译了原文,水平有限,尽量一观。 原文地址《.NET Core Roadmap》,原作者Scott Hunter. 1. .NET Core 新路线 自我们发布.NET Core/Asp.NET Core 1.0以来,已经过去了两个星期。开发小组已经用这两个星期做好了调整,所以是时候为接下来的开发计划开始做些准备了。我们已经看到了大量关于.NET Core的下载,同时也收到了很多显著和有效的反馈,我们欢迎所有开发者继续保持这样的反
潘成涛
2018-01-18
1.1K0
没有更多了
社区活动
RAG七天入门训练营
鹅厂大牛手把手带你上手实战,赢鹅厂证书、公仔好礼!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档