托管代码

使用开源中国(码云)托管代码

不打扰是莪最后的温柔 提交于 2020-03-04 12:17:44
使用开源中国(码云)托管代码 刘未鹏( 博客 , 微博 , 豆瓣 )在「 怎样花两年时间去面试一个人 」一文中说: 我一向认为,很多时候,是否好好看完一本好书,对一个人的提升往往能达到质的区别。就算不好好看完一本好书,马马虎虎看完,只要书是真的好书,也肯定会有很大的提高。我在面试的时候就经常询问对方看过哪些技术书籍,经常上哪些网站,订哪些博客。这里头尤其数书籍这一项的区分度最高。此外,好书和坏书的差别,从本质上,就是学习效率和大方向的差别。 刘未鹏( 博客 , 微博 , 豆瓣 )的 书单 值得大家好好学习,我也有个慢慢完善的 书单 供大家参考。 刘未鹏( 博客 , 微博 , 豆瓣 )在上文中还说: 但是光有「书单计划」还不够,因为书籍只能管基础知识这一块,一些更难以量化衡量的实战「能力」又怎么办呢? 答案是可以Social Coding的 github ,使用 github 的好处: 真实的项目,真实的流程,真实的人名,一切代码review, check-in, test, build, document, 甚至讨论,计划,brianstorming,流程,一切的一切,都是项目历史的一部分,都可以像棋局那样复盘。有经验的面试者只要稍稍扫两眼一个人的GitHub历史,挑出几个check-in历史看一看,便完全能够迅速判断这个人是否满足他的要求。不再需要费劲心机地去想题目,去观察

.NET Fromwork简介

…衆ロ難τιáo~ 提交于 2020-02-10 05:26:54
1、.NET Fromwork是为其运行的应用程序提供各种服务的托管执行环境。它包括链各个主要组件:作为处理运行的应用程序的执行引擎的公共语言运行时(CLR);以及.NET Fromwork类库,此类库提供开发人员可从其自己的应用程序中调用的已测试的可重用代码库。 2、.CLRNET Fromwork的核心, CTS是通用类型系统(common type system) CLS是公共语言定义(common language specification) CLR是公共语言运行时(common language runtime) 3、GC:垃圾回收,这里仅内存而言 首先,GC并不能释放所有的资源,他不能自动释放非托管资源 第二,GC并不是实时性的,这将会造成系统性能上的瓶颈和不确定性 4、托管代码:是Visual Basic.Net和C#编译出来的代码在CLR中运行。 非托管代码:运行在CLR外部,操作系统直接运行。 5、区别:1、托管代码是一种中间语言,运行在CLR上 非托管代码被编译为机器码,运行在机器上。 2、托管代码独立与平台和语言,能更好的实现不同瓶套之间的兼容 非托管代码依赖于平台和代码 3、托管代码可享受CLR提供的服务(如安全检测、垃圾回收等),不需要自己完成这 些操作 来源: https://www.cnblogs.com/wangxiao1/p/11147707

使用github托管代码以及github一些最常用的命令

大城市里の小女人 提交于 2020-01-21 17:44:16
生成SSH密钥 首先打开命令行工具,右键鼠标任意位置打开git bash here,然后输入以下命令 cd ~/.ssh 使用ssh-keygen生成密钥 ssh-keygen -t rsa -C "我的邮箱地址" 使用默认的文件名,输入密码,密钥生成成功 直接复制命令行看到的密钥会失败, 正确复制密钥 的方法: ls一下查看是否有id_rsa.pub文件,如果有,则打开文件,复制文件里面的内容. 新建仓库后点击Settings->Deploy keys将复制所得密钥粘贴至对应位置即可。 github一些最常用的命令 git init 仓库初始化 git status 查看工作区代码相对于暂存区的差别 git add . 将当前目录下修改的所有代码从工作区添加至暂存区 git commit -m ‘注释’ 将缓存区内容添加到本地仓库 git push origin master 将本地版本推送到远程服务器,origin是远程主机,master表示是远程服务器上的master分支,分支名是可以修改的。 来源: CSDN 作者: Tsundere_x 链接: https://blog.csdn.net/tsundere_x/article/details/104063656

本地代码与托管代码

若如初见. 提交于 2019-12-05 00:30:35
最开始写代码,都是经过编译后生成汇编码,直接在cpu上执行。 因为不同的硬件架构和操作系统,会导致不同的cpu支持的指令可能不同,也就是说不通类型的cpu所能执行的代码就是我们说所的本地代码,也叫本机代码或者native代码。这给程序的移植性带来很很大的麻烦,我们在一台机器上运行的好好的代码,如果拿到另一个硬件架构不同的机器上去的话,有可能运行不起来。C,C++写的代码等都是本地代码。但是,本地代码的好处就是效率比较快,因为它少了一个转换的过程。 后来,形成了另一种编程模式,例如:java。 就是采用一种虚拟机的机制, 屏蔽掉底层硬件和操作系统的不同,写的代码经过编译后形成一种中间语言代码,例如java的class字节码。 这种中间码直接在虚拟机里面执行,虚拟机负责将中间码转换成其所在平台上能执行的本地机器码。 在微软的.net 平台下面的编程模型也是这样的,不管是什么语言,写的代码经过相应的编译器编译以后,会生成中间码,然后.net framwork 里面的虚拟机读入这种中间码,产生本地机器上的本地码。 微软把这种产生中间码的语言所写的代码称为托管代码,意思就是说,这种代码是受.net framework 管理的,不能直接访问内存等硬件, 需要通过.net framework 来访问。 https://blog.csdn.net/playboy_lei/article

CLR如何将SEH异常映射到托管异常类型

我只是一个虾纸丫 提交于 2019-12-04 20:08:24
托管异常处理构建在Windows操作系统的结构化异常处理之上,通常称为SEH。这意味着CLR了解如何在SEH和托管异常系统之间进行互操作,这是一个非常关键的点,因为SEH基于异常代码的概念,而托管异常处理则表示使用托管类型的异常。CLR相应地将SEH异常映射到托管异常,具体取决于引发SEH异常的方式和引发者。 注意:下面的讨论重点是运行在Windows操作系统上的桌面CLR。虽然讨论的目的是帮助理解这个概念,但是它使用了一些将来可能会改变的实现细节来说明。 托管代码中的同步异常(Synchronous exceptions) 当托管代码使用throw关键字引发异常时,它已经实例化了一个托管异常对象,该对象将表示引发的异常。这将传递给CLR,CLR在线程上设置一些与异常相关的状态,并调用Kernel32的RaiseException API来引发托管异常。此API的第一个参数是引发异常的SEH异常代码,CLR传递0xE0434F4D(托管异常SEH代码)。 这时,操作系统进入处理场景,开始在引发异常的线程堆栈上寻找SEH异常处理程序。CLR将其函数之一注册为OS的异常处理程序,以处理托管代码引起的异常。当它看到CLR SEH异常代码时,它知道正在引发托管异常,并继续查找线程状态以检索与异常相关的详细信息(例如,标识表示引发异常的托管异常对象)。 因此,在同步托管抛出的情况下

CLR 调试概述

▼魔方 西西 提交于 2019-12-04 15:10:20
利用公共语言运行时 (CLR) 调试 API,工具供应商可以编写调试器来调试运行于 CLR 环境中的应用程序。 要调试的代码可为 CLR 支持的任何代码种类。CLR 调试 API 主要是使用非托管代码实现的。 因此,调试 API 呈现为一组组件对象模型 (COM) 接口。 API 由以下各项组成: CLR 实现的 COM 对象和接口的集合。 必须由调试器实现的 COM 回调接口的集合。 CLR 调试方案 以下各部分介绍公共语言运行时调试 API 如何处理典型的调试方案。 请注意,该运行时直接支持某些方案,并且可与当前方法进行互操作来支持其他方案。 进程外调试 在进程外调试中,调试器不在所调试的进程中,而在另一个进程中(即在调试对象外部)。 此方案减少了调试器与调试对象之间的交互。 因此,它可以更准确地描述进程。 CLR 调试 API 直接支持进程外调试。 API 将处理调试器与调试对象托管部分之间的所有通信以支持托管代码调试。 虽然 CLR 调试 API 用于进程外,但某些调试逻辑(例如线程同步)却与调试对象在同一进程内。 大多数情况下,这是应该对调试器保持透明的实现详细信息。 有关线程同步的更多信息,请参见 CLR 调试体系结构。 调试 API 的缺点是在进程外使用时无法用它来检查崩溃转储。 进程内调试 在 .NET Framework 1.0 和 1.1 版本中,CLR 调试

.NET Framework的含义

白昼怎懂夜的黑 提交于 2019-12-02 02:25:57
虽然大部分理论总是枯燥、无聊的,但... .NET Framework Microsoft .NET Framework是用于Windows的新托管代码编程模型。它将强大的功能与新技术结合起来,用于构建具有视觉上引人注目的用户体验的应用程序,实现跨技术边界的无缝通信,并且能支持各种业务流程。 —— 来自百度百科。 .NET Framework基础 .NET Framework是Microsoft最新的开发平台。它包含一个公共类型系统(CTS)和一个公共语言运行库(CLR)。.NET Framework应用程序使用面向对象编程(OOP)的方法论编写,通常包含托管代码。托管代码的内存管理由.NET运行库处理,其中包括垃圾回收。 .NET Framework应用程序 用.NET Framework编写的应用程序首先编译为CIL(通用中间语言:Common Intermediate Language)。在执行应用程序时,JIT把CIL编译为本机代码。应用程序编译后,把不同的部分链接到包含CIL的程序集中。 来源: https://www.cnblogs.com/gme5/p/11725782.html

CLR基础

自作多情 提交于 2019-11-28 00:36:06
读《CLR via C# 》之后感觉对.net 的理解有了一个飞跃(虽然大部分内容还要慢慢消化和吸收),对CLR,JIT编译器,垃圾回收,多线程使用,和锁等概念都有了更深的认识。我从四月末开始看,直到八月初才看完,有几节跳过了,像WinRT 觉得过时了就没看,毕竟Microsoft 目前大力推广.net core。能让我坚持看完的原因很大一部分是作者 Jeffrey 的文字平易近人,描述细腻,让人感觉作者确实是想把毕生所学倾囊相授。就像译者周靖在结尾评价的那样:"字里行间,全是殷勤叮嘱。无浮夸之文字,倾心血而写就"。 以后我将逐步整理看完此书的习得,也是对书中难理解的地方做一下回顾。 第一篇 CLR 基础 1 将源代码编译成托管模块 公共语言运行时(Common Language Runtime ,CLR) 是一个可由多种编程语言使用的“运行时”。CLR的核心功能(比如内存管理、程序集加载、安全性、异常处理和线程同步)可由面向CLR的所有语言使用。 只要编译器是面向CLR的,可以用任何语言编译出托管模块。 托管模块 是标准的32位Microsoft Windows 可移植执行体(PE32)文件,或者是标准的64位Windows可移植执行体(PE32+)文件,它们都需要CLR才能执行。 元数据: 每个托管模块都包含元数据表,主要有两种表:一种表描述源代码种定义的类型和成员

[转].NET安全基础

徘徊边缘 提交于 2019-11-27 04:42:54
.NET安全基础 文章转自: http://www.itpub.net/viewthread.php?tid=624170&extra=&page=1 本单元内容 microsoft .NET Framework 在其安全性命名空间中提供了许多技术和大量的类型,帮助开发人员构建安全的代码,并创建安全的 Web 应用程序。本单元通过简单地介绍托管代码开发在安全性方面的优点,勾画出 .NET Framework 安全性的全貌。本单元还介绍和比较了 .NET Framework 应用程序中可以使用的两种相辅相成的安全形式:用户安全和代码安全。最后,本单元简要探讨了用来进行 .NET Framework 安全性编程的安全性命名空间。 本单元说明了如何将 .NET Framework 安全性应用于 ASP.NET Web 应用程序和 Web 服务中。 目标 通过本单元能够: 开始理解 .NET Framework 安全性的全貌。 列出托管代码在安全方面的优点。 比较和对照基于角色的安全性和代码访问安全性的异同。 了解何时使用基于角色的安全性,何时使用代码访问安全性。 探讨 .NET Framework 安全性命名空间。 应用范围 本单元可以应用于下列产品和技术: microsoft? Windows? Server 2000 和 Windows Server? 2003 操作系统