.net体系经过十几年发展,发生了很多变化。特别是在最近两年,随着开源和跨平台的发展,衍生出很多概念,像标准库,可移植库,.Net Core等,相信有不少同学对他们之间的关系是有一些困惑的,这里我从基础概念,跨框架开发的注意事项等,对.net的平台和相关概念做一个普及分享。此分享是从个人的知识体系中总结,如有不足,欢迎勘误!
一. 基础概念
.Net 本身是一个通用开发平台,我个人的理解主要分位如下两个层面:1. 语言层面,2. 运行时
首先:在语言层面上
面向 .net 平台的顶层开发语言有很多,常见的如:C#,F#和Visual Basic等,.net框架提供了这些语言使用的公共语言运行时,运行时与具体的语言无关,它定义了这些语言的公共规范,像类型系统,文件格式等。
这些高级语言编写的代码被称为托管代码,这些代码需要通过编译器编译为中间代码(IL),然后由公共语言运行时(CLR)接管,再经过JIT编译为机器代码交给cpu运行。
公共语言运行时自动处理对象布局并管理对象引用,当不再使用对象时释放它们。 按这种方式实现生存期管理的对象称为托管数据。 垃圾回收消除了内存泄漏以及其他一些常见的编程错误。
延伸阅读
- ssh框架 2016-09-30
- 阿里移动安全 [无线安全]玩转无线电——不安全的蓝牙锁 2017-07-26
- 消息队列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 论文笔记【图片目标分割】 2017-07-26
- 词向量-LRWE模型-更好地识别反义词同义词 2017-07-26
- 从栈不平衡问题 理解 calling convention 2017-07-26
- php imagemagick 处理 图片剪切、压缩、合并、插入文本、背景色透明 2017-07-26
- Swift实现JSON转Model - HandyJSON使用讲解 2017-07-26
- 阿里移动安全 Android端恶意锁屏勒索应用分析 2017-07-26
- 集合结合数据结构来看看(二) 2017-07-26