ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

һЩ.NETÈí¼þ¿ª·¢»ù´¡ÃæÊÔÌâµÄ²Î¿¼´ð°¸£¬¹®¹Ìһϻù´¡ÀíÂÛ֪ʶ°É
2014-11-24 01:23:10 ¡¾´ó ÖРС¡¿ ä¯ÀÀ:3274´Î
Tags£ºÒ»Ð© .NET Èí¼þ¿ª·¢ »ù´¡ ÊÔÌ⠲ο¼ ´ð°¸ ¹®¹Ì »ù´¡ÀíÂÛ ÖªÊ¶

ʲôÊÇ.NET£¿Ê²Ã´ÊÇCLI£¿Ê²Ã´ÊÇCLR£¿ILÊÇʲô£¿JITÊÇʲô£¬Ëü ÊÇÈçºÎ¹¤×÷µÄ£¿GCÊÇʲô£¬¼òÊöÒ»ÏÂGCµÄ¹¤×÷·½Ê½£¿ ʲô ÊÇ.NET
Dot NetÊÇ΢ÈíÔÚ2000Ìá³öµÄÒ»ÕûÌ×ƽ̨£¬°üÀ¨µ×²ã²Ù×÷ϵͳ£ºWindows£»¸¨Öú²úÆ·£ºDot NetÆóÒµ·þÎñÆ÷£»Mcirosoft XML Web·þÎñ£º.Net My Services£»¿ª·¢Æ½Ì¨£ºDot Net¿ò¼Ü£¬¼¯³ÉµÄ¿ª·¢»·¾³£º Visual Studio ¡£ÒÔÉϼ¸¸ö²¿·Ö×é³É¡£
µ×²ã²Ù×÷ϵͳ£ºµ±È»ÊÇWindows ¶ÔÈ«ÏߵIJÙ×÷ϵͳ¶¼ÌṩXML Web·þÎñÖ§³Ö¡£·þÎñÆ÷²Ù×÷ϵͳ2003¿ªÊ¼£¬¸öÈ˲Ù×÷ϵͳ´ÓVista¿ªÊ¼¼¯³É.Net Framework¡£²¢ÇÒ²Ù×÷ϵͳԭʼµÄAPIÒ²¿ªÊ¼ÓÃDot NetµÄAPI¸ôÀ룬Æäԭʼ¹¹ÏëÏ൱ÅÓ´ó¶ø¼¤½ø£¬ÕâÔÚVistaµÄ¿ª·¢ÖÐÏÔµÃÓÈΪÃ÷ÏÔ£¬ºóÀ´Î¢Èí¿³µôÁËһЩԭ±¾µÄ×¼±¸ÔÚVistaÉÏ·¢²¼µÄÌØÐÔ£¬µ«ÊÇVistaÒ²ÒѾ­±íÏֵĺÍÇ°Èδó²»Ïàͬ£¬µ±È»ÆäÖеÄÊÇ·ÇÇúÕÛÓÖÊÇÁíÒ»¸ö»°ÌâÁË¡£×Ü֮ΪÁËDot Net¼Æ»®Î¢ÈíÔÚ²Ù×÷ϵͳÉÏͶÈëµÄÐÄÁ¦£¬¿ÉÒԷdz£Ã÷È·µÄ¿´³ö΢Èí¶ÔDot Net¼Æ»®µÄÖØÊÓ¡£
¸¨Öú²úÆ·£º´ó¼Ò±È½ÏÊìϤµÄ¾ÍÊÇSQL ServerÁË°É£¬Ò²ÓÐÁËÍÑÌ¥»»¹Çʽ µÄ±ä»¯£¬Ê×ÏÈÊÇÄǸö¼¯³ÉÁËÔ­À´ÆóÒµ¹ÜÀíÆ÷£¬²éѯ·ÖÎöÆ÷£¬¸ú×ÙÆ÷µÄ´óһͳ¹ÜÀí¹¤¾ß
Microsoft XML Web·þÎñ£º¶¼ÊÇЩ΢ÈíÌṩµÄXML Web·þÎñ£¬ÓÐЩÊÕ·ÑÓÐЩÃâ·Ñ¡££¨XML Web·þÎñµ±Äê×ÅʵÊÇÒ»¸ö¡°ÏÔѧ¡±²»¹ýºóÀ´µÄ·¢Õ¹²¢Ã»ÓÐÈç΢ÈíÔ¤ÆÚµÄÄÇÑù³É¹¦ £©
¿ª·¢Æ½Ì¨£¨Dot Net¿ò¼Ü£©£º°üº¬Í¨ÓÃÓïÑÔÔËÐÐʱ£¨CLR£©ºÍDot Net¿ò¼ÜÀà¿â£¨FCL£©Á½¸ö²¿·Ö¡£ËûÃÇÌṩÁËÒ»Öµıà³ÌÄ£ÐÍ£¬¼ò»¯µÄ±à³Ì·½Ê½£¬¿É¿¿µÄ°æ±¾»úÖÆ£¨ÓÃÈ«¾Ö³ÌÐò¼¯»º´æGACÀ´±ÜÃâDLL Hell£©£¬Çá±ãµÄ²¿Êð¹ÜÀí£¨³ÌÐò¼¯×Ô´øµÄÔªÊý¾Ý¿ÉÒÔ±ÜÃâiniÎļþºÍ×¢²á±í£© £¬¹ã·ºµÄƽ̨֧³Ö£¨Ö»ÒªÕą̂»úÆ÷¼æÈݱê׼ϵÄCLRºÍFCL¾Í¿ÉÒÔ²¿Ê𣬵±È»ÔËÐеÄʱºòIL»á±ä³É±¾»ú´úÂ룩£¬ÎÞ·ìµÄÓïÑÔ¼¯³É£¨JAVA¿çƽ̨£¬Dot Net¿çÓïÑÔÕâÊÇÄǸöʱºòÂÛÕ½¾­³£¿´µ½µÄ¹Ûµã £©£¬×Ô¶¯»¯µÄÄÚ´æ¹ÜÀí£¨À¬»øÊÕ¼¯£©£¬ÀàÐÍ°²È«£¨CLR»á×èÖ¹ÀûÓûº³åÇøÒç³ö´íÎó½øÐеĹ¥»÷£©£¬CLRÖ§³Ö¿çÓïÑÔµ÷ÊÔ£¬Í³Ò»µÄ´íÎ󱨸棨¶¼ÓÃÒì³£ºÍÔ­À´·µ»ØµÄ´íÎóÂë˵ÔÙ¼û°É£©£¬È«Ðµİ²È«²ßÂÔ£¨CAS£©£¬¼æÈÝÒÔÍùµÄCOM×é¼þ¡£
¼¯³É¿ª·¢»·¾³£ºVisual Studio ¿ÉÒÔÓÃÀ´´´½¨ Windows ƽ̨Ï嵀 Windows Ó¦ÓóÌÐòºÍÍøÂçÓ¦ÓóÌÐò£¬Ò²¿ÉÒÔÓÃÀ´´´½¨ÍøÂç·þÎñ¡¢ÖÇÄÜÉ豸ӦÓóÌÐòºÍ Office ²å¼þ
ʲôÊÇCLI£¿
ͨÓÃÓïÑÔ»ù´¡½á¹¹£¨Common Language Infrastructure£¬CLI£©ÊÇCLRµÄÒ»¸ö×Ó¼¯£¬Ò²¾ÍÊÇ.NETÖÐ×îÖÕ¶Ô±àÒë³ÉMSIL´úÂëµÄÓ¦ÓóÌÐòµÄÔËÐл·¾³½øÐйÜÀíµÄÄÇÒ»²¿·Ö¡£ÔÚCLR½á¹¹Í¼ÖÐCLIλÓÚÏ°벿·Ö£¬Ö÷Òª°üÀ¨Àà¼ÓÔØÆ÷(Class Loader)¡¢ÊµÊ±±àÒëÆ÷(IL To Native Compilers)ºÍÒ»¸öÔËÐÐʱ»·¾³µÄÀ¬»øÊÕ¼¯Æ÷(Garbage Collector)¡£CLIÊÇ.NetºÍCLRµÄÁé»ê£¬CLIΪIL´úÂëÌṩÔËÐеĻ·¾³£¬Äã¿ÉÒÔ½«Ê¹ÓÃÈκÎÓïÑÔ±àдµÄ´úÂëͨ¹ýÆäÌض¨µÄ±àÒëÆ÷ת»»ÎªMSIL´úÂëÖ®ºóÔËÐÐÆäÉÏ£¬ÉõÖÁ»¹¿ÉÒÔ×Ô¼ºÐ´MSIL´úÂëÔÚCLIÉÏÃæÔËÐС£×÷Ϊ.NetÓëCLRµÄºËÐIJ¿·Ö£¬CLIÓëC#Ҳͬʱ»ñµÃÁËECMAµÄÅú×¼£¨ECMA-335£©¡£ÓµÓÐÁËC#ÓëCLIÕâÁ½Ïî±ê×¼£¬Äã¿ÉÒÔ×Ô¼ºÐ´³öÄܹ»ÔËÐÐÓÚÈκβÙ×÷ϵͳÉϵÄ.Netƽ̨(Ö»ÒªÄãÔ¸Òâ)¡£ÈçÇ°ËùÊö£¬ÖøÃûµÄMonoÏîÄ¿¾ÍÊÇÕâô¸ÉµÄ£¬MonoÏîÄ¿°üÀ¨Èý¸öºËÐĵIJ¿·Ö£ºÒ»¸öC#ÓïÑԵıàÒëÆ÷£¬Ò»¸öCLIºÍÒ»¸öÀà¿â¡£
ʲôÊÇCLR£¿
CLR£¨Common Language Runtime£©¹«¹²ÓïÑÔÔËÐÐʱÊÇÒ»¸ö¿ÉÓɶàÖÖ±à³ÌÓïÑÔʹÓõġ°ÔËÐÐʱ¡±¡£CLRµÄºËÐŦÄÜ£¨±ÈÈçÄÚ´æ¹ÜÀí¡¢³ÌÐò¼¯¼ÓÔØ¡¢°²È«ÐÔ¡¢Òì³£´¦ÀíС¡¢Ïß³Ìͬ²½£©¿ÉÓÉCLRµÄËùÓÐÓïÑÔ¹²Óá£
ILÊÇʲô£¿
ILÖмäÓïÑÔ£¬Dot NetµÄ³ÌÐò¾­¹ý±àÒëÒÔºó¾ÍÐγÉÁËIL´úÂ룬ÔÚÔËÐеÄʱºòCLR½«IL±àÒë³É±¾µØCPUÖ¸Áî¡£IL´úÂëÒ²³ÆΪÍйܴúÂë¡£IL¿ÉÒÔ·ÃÎÊCLRµÄËùÓй¦ÄÜ¡£ILÒ²¿ÉÊÓΪһÖÖÃæÏò¶ÔÏóµÄ»úÆ÷ÓïÑÔ£¬¿ÉÒÔʹÓûã±àÓïÑÔÀ´±àдIL¡£ILÓÅÊÆÔÚÓÚËü»áÑéÖ¤´úÂëµÄÕýÈ·ÐÔ£¨²ÎÊýÊýÁ¿£¬²ÎÊýÀàÐ͵ÄÑéÖ¤£©
JITÊÇʲô£¬Ëü ÊÇÈçºÎ¹¤×÷µÄ£¿
JIT£¨Just In Time£©¼´Ê±±àÒëÆ÷£¬ÓÉCLRµ÷Ó㬽«IL±àÒë³É±¾µØCPUÖ¸Áî¡£
µ±Ò»¶Î´úÂëµÚÒ»´Î±»µ÷ÓõÄʱºò£¬CLRÖ¸Ïò°üº¬ÔÚCLRÄÚ²¿µÄÒ»¸öÌØÊ⺯Êý£¬Õâ¸öÌØÊ⺯Êý¾ÍÊÇJITCompiler£¬JITCompiler¸ºÔð½«IL±àÒë³É±¾µØÖ¸Áî¡£JITCompilerÖªµÀʵ¼Êµ÷ÓõÄÊÇÄĸö·½·¨£¬ÒÔ¼°¸Ã·½·¨ÊÇÄÇЩÀàÐͶ¨ÒåµÄ£¬JITCompiler»áÔÚ¶¨Òå¸ÃÀàÐ͵ijÌÐò¼¯µÄÔªÊý¾ÝÖвéÕÒ±»µ÷Óõķ½·¨µÄIL£¬²¢½«IL±àÒë³É±¾µØµÄCPUÖ¸Áî¡£±àÒëµÄ½á¹û±»·ÅÔÚÒ»¸öÄÚ´æ¿éÖУ¬È»ºóJITCompiler·µ»ØCLRΪÀàÐÍ´´½¨µÄÄÚ²¿Êý¾Ý½á¹¹£¬ÕÒµ½±»Êµ¼Êµ÷Ó÷½·¨¶ÔÓ¦µÄÄÇÌõ¼Ç¼£¬ÐÞ¸Ä×î³õ¶ÔJITCompilerµÄÒýÓã¬ÈÃÆäÖ¸ÏòÄÚ´æ¿éÖиñ»µ÷Ó÷½·¨¸Õ¸Õ±»±àÒëºÃµÄCPUÖ¸ÁîµÄµØÖ·¡£×îºóÖ´Ðб»µ÷Ó÷½·¨µÄCPUÖ¸Áî¡£
GCÊÇʲô£¬¼òÊöÒ»ÏÂGCµÄ¹¤×÷·½Ê½£¿
À¬»ø»ØÊÕ£¨garbage collection£©
Dot NetµÄÀ¬»ø»ØÊÕ¿ÉÒÔ·ÖΪÁ½¸ö²½Ö裬µÚÒ»²½½øÐС°±ê¼Ç¡±£¬À¬»ø»ØÊÕÆ÷¼ÙÉèËùÓеĶÔÏó¶¼ÊÇÀ¬»ø£¬È»ºó¿ªÊ¼±éÀúÿһ¸ö¡°¸ù¡±£¨¸ù°üº¬Ö¸ÏòÒýÓÃÀàÐͶÔÏóµÄÒ»¸öÖ¸Õ룬ֵÀàÐͶÔÏóÓÀÔ¶²»»á±»ÈÏΪÊÇÒ»¸ö¸ù£©£¬Èç¹û·¢ÏÖÒ»¸ö¸ùÒýÓÃÁËÒ»¸ö¶ÔÏ󣨷ÇNULL£©£¬¾Í¶Ô¶ÔÏó½øÐбê¼Ç¡£Ã»Óб»±ê¼ÇµÄ¶ÔÏó±»ÈÏΪÊÇÀ¬»ø¡£µÚ¶þ¸ö½×¶Î¾ÍÊÇ¡°Ñ¹Ëõ¡±£¬Æäʵ¾ÍÊǽ«ºóÃæµÄ¶ÔÏóÒƶ¯µ½ÒѾ­³ÉΪÀ¬»øµÄ¶ÔÏóλÖã¬Ê¹µÃÔ­À´µÄÍйܶѸüΪ½ô´Õ¡£´Ó¶øÊÍ·ÅÁËÍйܶѡ£
GCÀàÖеķ½·¨Ó°ÏìºÎʱ¶Ô¶ÔÏó½øÐÐÀ¬»ø»ØÊÕÒÔ¼°ºÎʱÊͷŶÔÏóËù·ÖÅäµÄ×ÊÔ´¡£´ËÀàÖеÄÊôÐÔÌṩÒÔÏÂÐÅÏ¢£ºÏµÍ³¿ÉÓÃÄÚ´æ×ÜÁ¿¡¢·ÖÅä¸ø¶ÔÏóµÄÄÚ´æµÄÖÜÆÚÀà±ð£¨´ú£©¡£
GC¸ú×Ù²¢»ØÊÕÍйÜÄÚ´æÖзÖÅäµÄ¶ÔÏó¡£À¬»ø»ØÊÕÆ÷¶¨ÆÚÖ´ÐÐÀ¬»ø»ØÊÕÒÔ»ØÊÕ·ÖÅä¸øûÓÐÓÐЧÒýÓõĶÔÏóµÄÄÚ´æ¡£µ±Ê¹ÓÿÉÓÃÄÚ´æ²»ÄÜÂú×ãÄÚ´æÇëÇóʱ£¬À¬»ø»ØÊÕ»á×Ô¶¯½øÐС£»òÕߣ¬Ó¦ÓóÌÐò¿ÉÒÔʹÓà Collect ·½·¨Ç¿ÖƽøÐÐÀ¬»ø»ØÊÕ¡£
À¬»ø»ØÊÕÓÉÒÔϲ½Öè×é³É£º
GCËÑË÷ÍйܴúÂëÖÐÒýÓõÄÍйܶÔÏó¡£
GC³¢ÊÔÍê³ÉûÓб»ÒýÓõĶÔÏó¡£
GCÊÍ·ÅûÓб»ÒýÓõĶÔÏó²¢»ØÊÕËüÃǵÄÄÚ´æ¡£
ÔÚ»ØÊÕÆڼ䣬Èç¹ûGCÔÚÍйܴúÂëÖÐÕÒµ½¶Ôij¶ÔÏóµÄÒ»¸ö»ò¶à¸öÒýÓã¬Ôò²»»áÊͷŸöÔÏó¡£È»¶ø£¬GC²»Ê¶±ð·ÇÍйܴúÂëÖжԶÔÏóµÄÒýÓã¬Òò´Ë£¬³ý·ÇÃ÷È·½ûÖ¹£¬·ñÔòËüÓпÉÄÜÊÍ·Å·ÇÍйܴúÂëÖÐÒÔ¶ÀÕ¼·½Ê½Ê¹ÓõĶÔÏó¡£KeepAlive ·½·¨ÌṩһÖÖ»úÖÆ£¬¸Ã»úÖÆ¿É·ÀÖ¹À¬»ø»ØÊÕÆ÷»ØÊÕÔÚ·ÇÍйܴúÂëÖÐÈÔʹÓõĶÔÏó¡£


¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
ÉÏһƪ£º.NET ASP.NET¿ª·¢¹¤³ÌʦÃæÊÔÌâ ÏÂһƪ£º.netÃæÊÔÖеÄһЩ³£¼ûÎÊÌâÓë´ð°¸

×îÐÂÎÄÕÂ

ÈÈÃÅÎÄÕÂ

Hot ÎÄÕÂ

Python

C ÓïÑÔ

C++»ù´¡

´óÊý¾Ý»ù´¡

linux±à³Ì»ù´¡

C/C++ÃæÊÔÌâÄ¿