<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.


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


    網站導航:
     
    主站蜘蛛池模板: 日韩插啊免费视频在线观看| 免费福利在线观看| 免费黄色电影在线观看| 免费a级毛片永久免费| 亚洲无人区码一二三码区别图片| 在线永久看片免费的视频| 亚洲精品自在线拍| **一级一级毛片免费观看| 亚洲精品福利网泷泽萝拉| 国产国产人免费视频成69堂| 亚洲中文字幕在线无码一区二区| 一二三四免费观看在线电影| 久久久久亚洲精品无码网址色欲| 亚洲第一成年人网站| 国产成人免费午夜在线观看| 亚洲免费网站在线观看| 中国毛片免费观看| 亚洲国产精品无码久久久秋霞2 | 中文成人久久久久影院免费观看| 亚洲三区在线观看无套内射| 国产精品区免费视频| 亚洲另类图片另类电影| 成年女人看片免费视频播放器| 亚洲av无码一区二区三区网站| 巨波霸乳在线永久免费视频| 国产v亚洲v天堂a无| 国产一区二区三区在线免费| 伊人免费在线观看| 亚洲福利一区二区精品秒拍| 午夜免费福利在线| 久久av免费天堂小草播放| 亚洲黄色三级视频| 国产麻豆免费观看91| 中文永久免费观看网站| 亚洲福利视频网址| 免费人妻无码不卡中文字幕18禁 | 99久久免费中文字幕精品| 2020亚洲男人天堂精品| 国产91精品一区二区麻豆亚洲| 57pao一国产成永久免费| 美女一级毛片免费观看|