<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 大阿福 閱讀(312) 評論(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.


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


    網站導航:
     
    主站蜘蛛池模板: 国产AV无码专区亚洲AVJULIA| 亚洲黄色免费网站| 免费一级一片一毛片| 亚洲第一页在线视频| 精品熟女少妇a∨免费久久| 亚洲av中文无码乱人伦在线咪咕| 成av免费大片黄在线观看| 免费看男女下面日出水视频| 亚洲精品色播一区二区| 日本视频免费在线| 乱淫片免费影院观看| 永久亚洲成a人片777777| 国产中文字幕在线免费观看| 亚洲毛片在线观看| 免费福利视频导航| 亚洲av无码成人影院一区| 国产小视频免费观看| 精品久久久久久无码免费| 亚洲大尺度无码专区尤物| 黄在线观看www免费看| 亚洲国产精品无码中文lv| 亚洲精品成人区在线观看| 你好老叔电影观看免费| 亚洲人成网站影音先锋播放| 性xxxxx免费视频播放| 白白色免费在线视频| 亚洲色欲一区二区三区在线观看| 99在线热视频只有精品免费| 亚洲中文字幕一二三四区苍井空| 免费人成在线观看播放国产| 中国在线观看免费的www| 亚洲av永久无码精品天堂久久 | 免费A级毛片无码A∨中文字幕下载| 久久亚洲精品成人无码网站| 日本免费一区二区三区最新| aa午夜免费剧场| 亚洲 日韩 色 图网站| 国产亚洲精品不卡在线| 国产免费不卡v片在线观看| 日韩免费码中文在线观看| 91亚洲一区二区在线观看不卡|