什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?


Posted in 面试题 onAugust 13, 2016
答案:应用程序域:一种边界,它有公共语言运行库围绕同一应用程序范围内创建的对象建立(即,从应用程序入口点开始,沿着对象激活的序列的任何位置)。应用程序域有助于将在一个应用程序中建立的对象在其他应用程序中创建的对象隔离,以使运行时行为可以预知。在一个单独的进程中可以存在多个应用程序域。以前使用进程边界来隔离在同一台计算机上运行的应用程序。每一个应程序被加载到单独的进程中,这样就将该应用程序与同一台计算机上运行的其他应用程序相隔离。隔离这些应用程序的原因在于内存地址是与进程相关的;在目标进程中,不能通过任何有意义的方式使用一个进程传递到另一个进程的内存指针。此外,您不能在两个进程间进行直接调用。您必须代之以使用代理,它提供一顶程度的饿间接性。托管代码必须先通过一个验证过程,然后才能运行(除非管理员已授权跳过该验证)。次验证过程以下内容:这些代码是否会尝试访问无效的内存地址?是否会尝试执行某些导致进程(该代码运行时所在的进程)无法正常进行的其他操作?通过次验证测试的代码将被人是类型安全的。由于公共语言运行库嫩能够够验证代码是否为类型安全的代码,所以它可以提供与进程边界一样大的隔离级别,而其性能开销在则要低得多。应用程序域提供安全而通用的处理单元,公共语言运行库可使用它来提供应用程序之间的隔离。您可以在具有同等隔离级别(存在于单独的进程中)的但个进程中运行几个应用程序域,而不会造成进程间切换等方面的额外开销。在一个进程内运行多个应用程序的能力显著增强了服务器的可伸缩性。隔离应用程序对于应用程序安全也是十分重要。例如,您可以在单个浏览器进程中运行几个Web应用程序的控件,同时使这些控件不能访问彼此的饿数据和资源。
应用程序域所提供的隔离具有以下优点:在一个应用程序中出现的错误不会影响其他以内功用程序。因为类型安全的代码不会导致内存错误,所以使用应用程序宇可以确保在一个域中运行的代码不会影响进程中的其他应用程序。能够在不停止整个进程的情况下停止单个应用程序。使用应用程序域使您可以卸载在单个应用程序中运行的代码。注意 不能卸载单个程序集或类型。只能卸载整个域。在一个应用程序中运行的代码不能直接访问其他应用程序中代码或资源。为了强制实施此隔离,公共语言运行库禁止在不同应用程序域中的对象之间进行直接调用。要在个域之间传递对象,可以复制这些对象,或通过代理访问这些对象。如果复制对象,那么对该对象的调用为本地调用。也就是说,调用方和被引用的对象位于同一应用程序域中。如果通过代理访问对象,那么对该对象的调用为远程调用。在此情况下,调用方和被引用的对象位于不同的应用程序域中。域间调用所采用远程调用结构与两个进程间的调用或两台计算机间的调用结构相同。代码行为的作用范围由它行为所在的应用程序决定。换言之,应用程序域将提供应用程序版本策略等配置设置、它所访问的任意远程程序集的位置,以及加载到该域中的程序集的位置信息。受管制的代码:在CLR虚拟机中运行的代码。强类型语言:如c/c++就是各种变量在各自的饿作用域使用之前都要由开发者定义类型,并交由编译器分配内存空间。装箱,就是把值转为引用类型。反之应用转为值

Tags in this post...

面试题 相关文章推荐
用JAVA SOCKET编程,读服务器几个字符,再写入本地显示
Nov 25 面试题
用你熟悉的语言写一个连接ORACLE数据库的程序,能够完成修改和查询工作
Jun 11 面试题
求网格中的黑点分布
Nov 06 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
Nov 26 面试题
const char*, char const*, char*const的区别是什么
Jul 09 面试题
武汉世纪畅想数字传播有限公司 .NET笔试题
Jun 13 面试题
string = null 和string = ''的区别
Apr 28 面试题
C#可否对内存进行直接的操作
Feb 26 面试题
几个Shell Script面试题
Aug 31 面试题
线程同步的方法
Nov 23 面试题
灵泰克Java笔试题
Jan 09 面试题
介绍一些UNIX常用简单命令
Nov 11 面试题
某公司的.net工程师面试题笔试题
Nov 22 #面试题
什么是重载?CTS、CLS和CLR分别做何解释
May 06 #面试题
CLR与IL分别是什么含义
Aug 23 #面试题
某公司.Net方向面试题
Apr 24 #面试题
什么是WEB控件?使用WEB控件有哪些优势?
Jan 21 #面试题
北京天润融通.net面试题笔试题
Feb 20 #面试题
WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回?
Feb 21 #面试题
You might like
怎样才能成为PHP高手?学会“懒惰”的编程
2006/12/05 PHP
php中通过Ajax如何实现异步文件上传的代码实例
2011/05/07 PHP
更改localhost为其他名字的方法
2014/02/10 PHP
Yii框架form表单用法实例
2014/12/04 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
PHP实现创建一个RPC服务操作示例
2020/02/23 PHP
ASP中用Join和Array,可以加快字符连接速度的代码
2007/08/22 Javascript
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
jquery实现简单手风琴菜单效果实例
2015/06/13 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
jQuery+HTML5+CSS3制作支持响应式布局时间轴插件
2016/08/10 Javascript
深入浅析JavaScript中的RegExp对象
2017/09/18 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
vue-cli3.X快速创建项目的方法步骤
2019/11/14 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
[01:33:30]DOTA2-DPC中国联赛 正赛 RNG vs Phoenix BO3 第二场 2月5日
2021/03/11 DOTA
Python中的字符串操作和编码Unicode详解
2017/01/18 Python
Python微信企业号开发之回调模式接收微信端客户端发送消息及被动返回消息示例
2017/08/21 Python
Python线性方程组求解运算示例
2018/01/17 Python
python实现维吉尼亚算法
2019/03/20 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
PyQt5中多线程模块QThread使用方法的实现
2020/01/31 Python
用python按照图像灰度值统计并筛选图片的操作(PIL,shutil,os)
2020/06/04 Python
python中字典增加和删除使用方法
2020/09/30 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
在canvas上实现元素图片镜像翻转动画效果的方法
2018/03/20 HTML / CSS
remote接口和home接口主要作用
2013/05/15 面试题
计算机专业优秀大学生自我总结
2014/01/21 职场文书
有关爱国演讲稿
2014/05/07 职场文书
2015幼儿园庆元旦活动方案
2014/12/09 职场文书
工厂仓管员岗位职责
2015/04/01 职场文书
postgreSQL数据库基础知识介绍
2022/04/12 PostgreSQL
SQL Server中搜索特定的对象
2022/05/25 SQL Server