<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 38, comments - 9, trackbacks - 0, articles - 1

    參加.Net培訓筆記二

    Posted on 2005-04-11 12:31 大阿福 閱讀(314) 評論(0)  編輯  收藏

    GC:collect the isolated object in the shared heap.
    machinism:
    1.When we create an new object in the shared heap, if the memory size of the shared heap can't fit the new object, CLR will invoke the GC.
    2.GC will wait until all the .NET apps in the same computer pends.
    3.GC creates a list of all the referenced objects in the shared heap.
    In addition, GC will add all the object with destructor to the list.
    GC will create a new array named FReachable, and add all those objects with destructor to this array.

    4.GC moves all the referenced objects to the bottom of the shared heap.
    5.GC updates all the referenced objects's pointer.
    6.CLR will execute all the destructor of the objects in the FReachable. After exected, CLR will reset the destructer's flag.

    when will the GC execute the destructor?

    1.Destructor
    2.Dispose(reset destructor's flag)

    using  -> invoke Dispose() method.


    Assembly deployment:

    How does CLR load an assembly?
    CLR(Class loader)
    1. CLR looks for a config file(app.exe.config).
    2. CLR will look for the assembly from the path that the app config file defines. -> internet(http://www.founder.com/a.dll), private path(bin;app\bin;app\dll)
    3. If not find, CLR will look for the GAC(Global Assembly Cache).
    4. If not find, CLR will look for the executing folder.

    CLR(Exception Manager)
    TestDep, Version=1.0.1925.15891, Culture=neutral, PublicKeyToken
    1. AssemblyName
    2. Version Number
    3. Culture Information
    4. PublicKeyToken

    Deployment path:
    1. Execution folder
    2. Config folder
    1)Internet config: <codeBase>
    2)private path: <probing>
    <configuration>
       <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
             <probing privatePath="bin;bin2\subbin;bin3"/>
          </assemblyBinding>
       </runtime>
    </configuration>

    3. GAC:
    precondition:
    1)strong name: CLSID/PrgID
    a pair asyncArithmatic key.
    TestDep, Version=1.0.1925.15891, Culture=neutral, PublicKeyToken

    sn.exe

    2)version number

    gacutil.exe

    1. verion control:

    verion redirect. <bindingRedirect>
    <configuration>
       <runtime>
          <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
           
               <probing privatePath="v1.1\Debug"/>
    <dependentAssembly>
                <assemblyIdentity name="TestDep"                          publicKeyToken="5ad115fe5d425e50"/>
                <bindingRedirect oldVersion="1.0.0.0"
                                 newVersion="1.1.0.0"/>
             </dependentAssembly>
         
          </assemblyBinding>
       </runtime>
    </configuration>


    native images: NGen.exe

     


    2. install package:

    installshield

    .NET Framework redistributed

    Custom action in the process of installation!

     

    zh-cn

     
    Assembly reflection:
    1) read resouce file from assembly.
    2) get types from assembly.
    3) create object dynamic from the assembly.

    .NET Event:
    Delegate -> a anoymouse function pointer

    int/double... -> System.Int32/Double
    delegate    -> Delegate

    overload operator +

    Data Type -> .NET Framework struct/class

    Common Type System: CTS
    1)value type: stack
    value copy.
    structure

    2)reference type: shared heap
    pointer copy.


    Change Data Type:
    1)implicity convertion: int16 -> int32 -> int64
    short -> long

    2)
    long -> short

    3)different type convertion:
    any type -> string: ToString()
    string -> other type: Parse()

    anytype <-> object: boxing/unboxing


    4)System.Convert class


    lab:
    1. create install package, add custom action. record the username and company information in a file during the installation process.
    2. create a reflection application, can be runned as a unit tester.
    3. create a component with an event.


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 人人揉揉香蕉大免费不卡| 又粗又大又黑又长的免费视频| 一区二区免费国产在线观看| 日批视频网址免费观看| 成年人视频在线观看免费 | 成年免费大片黄在线观看岛国 | 最近免费中文字幕mv在线电影| 日韩免费观看视频| 亚洲三级电影网址| 黄色a三级三级三级免费看| 日韩中文字幕精品免费一区| 亚洲综合久久1区2区3区| 一级有奶水毛片免费看| 日本免费网站在线观看| 午夜亚洲WWW湿好爽| 久久不见久久见中文字幕免费| 久久精品国产亚洲av四虎| 国产AV无码专区亚洲AV琪琪 | a在线免费观看视频| 国产免费午夜a无码v视频| 亚洲国产成人九九综合| 丁香花在线视频观看免费 | 国产亚洲一区二区精品| 国产亚洲男人的天堂在线观看| 全亚洲最新黄色特级网站 | 国产成人精品日本亚洲11| 99热这里只有精品免费播放| 区久久AAA片69亚洲| 黄色毛片视频免费| 亚洲熟妇无码八AV在线播放| 校园亚洲春色另类小说合集| 午夜寂寞在线一级观看免费| 亚洲人成77777在线观看网| 亚洲成人在线免费观看| 久久久久亚洲AV无码麻豆| 桃子视频在线观看高清免费视频| 国产亚洲精品va在线| 在线观看成人免费视频不卡| 久久精品国产亚洲av高清漫画| 成人毛片视频免费网站观看| a一级爱做片免费|