2022年NET程序员的自述 .pdf
《2022年NET程序员的自述 .pdf》由会员分享,可在线阅读,更多相关《2022年NET程序员的自述 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、任何一个使用.NET的人1.描述线程与进程的区别?一个程序至少有一个进程,一个进程至少有一个线程,奥运会是一个平台,在这个平台上竞技是每个队伍的目的,每支队伍都有很多队员。同样。我们的os 是一个操作平台,在这个平台上,运行程序是目的,每个程序可以有多个子目的。进程相当于大概念上,说的任务。线程就是完成这个任务的具体的执行体。一个可执行文件保存在硬盘上,就是文件,当他运行的时候,就叫进程。一个函数,运行的时候。这个执行过程就是一个线程,而顺序执行的函数都是固定的。所以他们整个是个线程,但我们可以开辟新的线程。就是同时和自己这个函数并行的启动一个函数。进程是系统资源分配的基本单位。线程是cpu
2、调度的基本单位。为了提高系统资源的使用效率,引进进程的概念,为了解决在不同进程之间切换而导致的系统而外开销,引进了线程的概念。一个进程可以由多个线程来运行。可以说线程是轻量级的进程。进程:当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。线程:线程是程序中的一个执行流,每个线程都有自己的专有寄存器(栈指针、程序计数器等),但代码区是共享的,即不同的线程可以执行同样的函数。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 12 页 -多线程:多线程是指程序中包含多个执行流,即在一个程序中可以同时运行多个不同的线
3、程来执行不同的任务,也就是说允许单个程序创建多个并行执行的线程来完成各自的任务。什么是 Windows服务,它的生命周期与标准的EXE程序有什么不同Windows Service 是一种可随 Windows 操作系统启动而启动的,在后台运行的,通常不和用户产生交互的程序。它无法通过双击来运行,类似于 Unix 守护进程(daemon processes),当用户注销时它也不会停止。Windows 服务由三部分组成:1.一个服务可执行文件;2.一个服务控制程序(SCP);3.服务控制管理器(SCM),负责在CurrentControlSetServices 下创建服务键值。用户可通过 SCP 控
4、制服务的启动、停止、暂停等,SCP 会通过 SCM 调用服务程序。Window 标准的 exe 可执行程序通常有一个用户界面,Console 或GUI,通常由用户来启动或停止。Windows上的单个进程所能访问的最大内存量是多少?它与系统的最大虚拟内存一样吗?这对于系统设计有什么影响?32 位 Windows上单个进程所能访问的最大内存量是4G,单由于操作系统需要给系统核心分配2G的空间,所以一般用户程序的进程可使用的最大内存为 2G。名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 12 页 -不一定一样,32位的操作系统的进程可访问的最大内存量是4G,这4G包含了虚拟内存,而一
5、个进程可访问的最大内存量也是4G,所以进程内存访问量在物理内存大于等于4G的时候跟虚拟内存无关,而当物理内存小于 4G时,进程访问的内存量随着虚拟内存的增加而增加,直到 4G EXE和 DLL之间的区别是什么?EXE是可以单独运行的程序,DLL 是不能单独运行,一般是由 EXE程序来调用 DLL的函数EXE里含有程序的执行入口,比如说Main()函数。EXE文件可以调用其他 DLL文件里的函数等功能。DLL在某种程度上可以看成是库吧,具有一定的功能,Windows系统里那麽多 DLL,很大一部分是被其他EXE文件调用而发挥其功能的。什么是强类型,什么是弱类型?哪种更好些?为什么?强类型是在编译
6、的时候就确定类型的数据,在执行时类型不能更改,而弱类型在执行的时候才会确定类型。没有好不好,二者各有好处,强类型安全,因为它事先已经确定好了,而且效率高。一般用于编译型编程语言,如 c+,java,c#,pascal等,弱类型相比而言不安全,在运行的时候容易出现错误,但它灵活,多用于解释型编程语言,如 javascript,vb等名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 12 页 -强类型string FirstName=PersonRow.FirstName;我们拥有一个强类型行,并且我们知道 FirstName 属性是字符串类型。在此,不会出现杂乱的列名,而且也不存在杂
7、乱的对象转换问题。编译器为我们作类型检查,并且我们可以继续进行其它任务而不必担心是否我们已经正确输入了列名。string FirstName=myrow.(FirstName).ToString();上面的 DataRow就是非类型化的;结果,你必须以一个串形式作为你要查询的列名来存取这个值(或者,使用这个列集合中的列的索引值)。很可能,这个列真正存在。一个 DataRow列的数据类型是对象;我们假定 FirstName 列的基本数据类型是字符串,但是,我们必须显式地把它转化成一个字符串以便使用它。如果列名发生变化(例如,你把它改为 PersonFirstName),那么编译器是不能通知你的。
8、弱类型VBS(VBScript 的进一步简写)是基于 Visual Basic的脚本语言.弱类型语言 vbs:a=1 名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 12 页 -b=a+1+a/结果是 11a,这里 a 成了字符串c=a+1/结果是 2,这里 a 则是数字型强类型语言:c#int a=2 string b=a.ToString()+1+a/21a int c=a+1/3 PID是什么?在做系统的故障排除时如何使用它?PID是系统进程的全局唯一标志符,在排除系统故障时可以根据PID找到对应的进程进而找到对应的程序。PID=Process Identifier,是一个
9、全局唯一的用来标识进程的整数。在故障排除时可以根据此编制号得到进程的具体数据和信息,此外在必要的情况下还可以根据此编号来终止对应的进程。单个 TCP/IP 端口上能够侦听多少个进程?可能只有一个。如果你需要创建另一个TCP/IP 监听,你必须建立另一个不同的端口 什么是 GAC?它解决了什么问题名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 12 页 -每一个 CLR(Common Language Runtime)所在的计算机都有一个全局程序集缓存(Global Assembly Cache,GAC)。部署在 GAC 上的程序集必须有一个强名称。一种由.net framewor
10、k sdk 提供的名叫 Global Assembly Cache tool(Gacutil.exe)的开发工具,可以把程序集部署到 GAC 上。GAC 存储专门指定的程序集以供计算机上多个应用程序共享。它也为我们提供了克服DLL 地狱的问题。百度百科上的解释:GAC 全称是 Global Assembly Cache 作用是可以存放一些有很多程序都要用到的公共 Assembly,例如System.Data、System.Windows.Forms 等等。这样,很多程序就可以从 GAC 里面取得 Assembly,而不需要再把所有要用到的Assembly 都拷贝到应用程序的执行目录下面。举例而
11、言,如果没有GAC,那么势必每个 WinForm程 序的目录下就都要从C:WINDOWSMicrosoft.NETFrameworkv1.0.3705下面拷贝一份System.Windows.Forms.dll,这样显然不如都从GAC 里面取用方便,也有利于 Assembly的升级和版本控制。除了系统默认放置在GAC 中的 Assembly如System.Windows.Forms以外,我们也可以添加自己的Assembly:1)创建一个 strong-name 的 Assembly,例如ToolbarComponent.dll 名师资料总结-精品资料欢迎下载-名师精心整理-第 6 页,共 12
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年NET程序员的自述 2022 NET 程序员 自述
限制150内