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


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

Tags in this post...

面试题 相关文章推荐
一份全面的PHP面试问题考卷
Jul 15 面试题
介绍一下Java的安全机制
Jun 28 面试题
一套Java笔试题
Aug 20 面试题
main 主函数执行完毕后,是否可能会再执行一段代码,给出说明
Dec 05 面试题
写一个用矩形法求定积分的通用函数
Nov 08 面试题
哪些情况下不应该使用索引
Jul 20 面试题
什么是.net的Remoting技术
Jul 08 面试题
linux面试题参考答案(6)
Jun 23 面试题
网上常见的一份Linux面试题(多项选择部分)
Feb 07 面试题
linux面试题参考答案(11)
May 01 面试题
介绍一下结构化程序设计方法和面向对象程序设计方法的区别
Jun 27 面试题
EJB的角色和三个对象
Dec 31 面试题
某公司的.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遍历目录与文件夹的多种方法详解
2013/11/14 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
Laravel基础-关于引入公共文件的两种方式
2019/10/18 PHP
firefox下jQuery UI Autocomplete 1.8.*中文输入修正方法
2012/09/19 Javascript
ext前台接收action传过来的json数据示例
2014/06/17 Javascript
浅析javascript 定时器
2014/12/23 Javascript
jQuery操作Table技巧大汇总
2016/01/23 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
IE8利用自带的setCapture和releaseCapture解决iframe的拖拽事件方法
2016/10/25 Javascript
nodejs的HTML分析利器node-jquery用法浅析
2016/11/08 NodeJs
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
深入理解js中的加载事件
2017/02/08 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
2017/09/20 jQuery
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
2019/03/04 Javascript
微信小程序实现人脸识别登陆的示例代码
2019/04/02 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
jQuery 隐藏/显示效果函数用法实例分析
2020/05/20 jQuery
Python访问MySQL封装的常用类实例
2014/11/11 Python
进一步理解Python中的函数编程
2015/04/13 Python
python中string模块各属性以及函数的用法介绍
2016/05/30 Python
Django框架 查询Extra功能实现解析
2019/09/04 Python
python scatter函数用法实例详解
2020/02/11 Python
Python txt文件常用读写操作代码实例
2020/08/03 Python
Pycharm github配置实现过程图解
2020/10/13 Python
python自动化办公操作PPT的实现
2021/02/05 Python
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
HelloFresh澳大利亚:订购你的美味食品盒、健康餐食
2018/03/28 全球购物
南非最大的在线时尚商店:Zando
2019/07/21 全球购物
T3官网:头发造型工具
2019/12/26 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
How to spawning asynchronous work in J2EE
2016/08/29 面试题
士力架广告词
2014/03/20 职场文书
商场主管竞聘书
2014/03/31 职场文书
办公室主任岗位竞聘书
2015/09/15 职场文书