zoukankan      html  css  js  c++  java
  • .NET Framework基础知识(一)(转载)

    1、.NET Framework是支持生成和运行下一代应用程序和XML Web Services的内部Windows组件。
    2、.NET Framework具有两个主要组件:公共语言运行库和.NET Framework类库。
    3、使用基于公共语言运行库的语言编译器开发的代码称为托管代码,托管代码的优点:
       跨语言集成、跨语言异处理、增强的安全性、版本控制、部署支持、简化的组件交互模式、调试和分析服务
    4、.NET Framework的垃圾回收器管理应用程序的内存分配和释放:
    (1)每次使用new关键字创建对象时,运行库都从托管堆为该对象分配内存。只要托管堆中有地址空间可用,

    运行库就会继续为新对象分配空间。
    (2)分配内存之前先计算字段所需的空间,在计算对象所需的空间,包括同步索引快和类型对象指针,

    然后分配物理内存,新对象指针指向下一个可用内存区域
    (3)内存不是无限大的。垃圾回收器必须执行回收以释放一些内存。垃圾回收器优化引擎根据正在进行的

    分配情况确定执行回收的最佳时间。当垃圾回收器执行回收时,它检查托管堆中不再被应用程序使用的对象

    并执行必要的操作来回收它们占用的内存。
    5、代:代是CLR垃圾收集器的一种机制,它存在的惟一目的就是提高应用程序性能。一个基于代的垃圾收集器有以下几种假设:

    对象越新,其生存期就越短;对象越老,其生存期就越长;对托管堆的一部分执行垃圾收集比对整个托管堆执行垃圾收集快。
           CLR支持3代内存:第0代对象预算容量为256k,第1代为2M,第2代为10M。
    6、垃圾回收的过程:
    第一次初始化,把对象分配到内存作为第0代,添加新对象时,先判断第0代空间是否充足,

    不充足的话先在托管堆中查找不被应用程序使用的对象,把使用的做上标记,把内有标记的对象释放掉有标记的对象放到第1代,

    新添加的对象放到第0代,再添加新对象时,判断第0代控件是否充足,充足直接添加,不充足在托管堆中查找做标记,

    有标记的放入第1代,如果第1代空间不足,也在托管堆中查找做标记,有标记的放到第2代没有标记的释放掉,

    把第0代有标记的放到第1代,依次类推...

    图示:

     


    7、文件:是一些具有永久存储及特定顺序的字节组成的一个有序的、具有名称的集合。
       流:提供一种向后备存储写入字节和从后备存储读取字节的方式。
    8、文件AppendAlltext只能追加txt格式,但word能打开是因为word兼容txt文件
    9、程序:遍历某个路径下的文件、文件夹及文件夹里的内容
    class Program
        {
            static void Main(string[] args)
            {
                string path = @"E:\我的项目";
                DG(path);

            }
            static void DG(string path)
            {
                foreach(string str in Directory.GetFiles(path))
                {
                    Console.WriteLine(str);
                }
                foreach(string str in Directory.GetDirectories(path))
                {
                    DG(str);  
                }
            }
        }

    本文出自 “大懒丫头” 博客,请务必保留此出处http://lanyatou.blog.51cto.com/3306130/624069

  • 相关阅读:
    ElasticSearch 2 (15)
    ElasticSearch 2 (14)
    ElasticSearch 2 (13)
    ElasticSearch 2 (12)
    浅谈 Comet、SSE、WebSocket
    js快速将字符串数组转化为数字数组(互换)
    如何给自己的vue组件做一个提示
    顶级域名和子级域名之间的cookie共享和相互修改、删除
    前端工程化
    数据校验工具 data-police
  • 原文地址:https://www.cnblogs.com/babycool/p/2137289.html
Copyright © 2011-2022 走看看