zoukankan      html  css  js  c++  java
  • 学习笔记: 反射

    1.

    /// 1 dll-IL-metadata-反射
    /// 2 反射加载dll,读取module、类、方法、特性
    /// 3 反射创建对象,反射+简单工厂+配置文件  选修:破坏单例 创建泛型
    ///
    /// 反射反射,程序员的快乐
    /// 反射是无处不在的,MVC-Asp.Net-ORM-IOC-AOP 几乎所有的框架都离不开反射
    ///
    /// 反编译工具不是用的反射,是一个逆向工程
    /// IL:也是一种面向对象语言,但是不太好阅读
    /// metadata元数据:数据清单,描述了DLL/exe里面的各种信息
    ///
    /// 反射Reflection:System.Reflection,是.Net Framework提供的一个帮助类库,可以读取并使用metadata
    ///
    ///
    ///
    /// 1 反射调用实例方法、静态方法、重载方法 选修:调用私有方法 调用泛型方法
    /// 2 反射字段和属性,分别获取值和设置值
    /// 3 反射的好处和局限
    /// 4 第一次作业部署
    ///
    /// 高级班的传统,准备好学习的小伙伴儿,给Eleven老师刷个字母E,然后课程就正式开始了!!!
    ///
    /// 反射的优点: 动态 
    /// 反射的缺点:
    ///     1 使用麻烦
    ///     2 避开编译器检查
    ///     3 性能问题!!!
    ///            100w次循环-----性能差异160倍,确实很难接受
    ///                          普通方法 41ms
    ///                          反射     6512ms
    ///                      -----但是,换个角度分析下,100次循环,反射耗时0.65ms
    ///                           也就是说,反射基本不会影响到你的程序性能,除非你循环太多了反射
    ///     缓存优化,把dll加载和类型获取  只执行一次
    ///            100w次循环-----性能差异160倍,确实很难接受
    ///                            普通方法 48ms
    ///                            反射     103ms
    ///                            反射影响是不是更小了,

    ///     MVC-Asp.Net-ORM-IOC-AOP都在用反射,几乎都有缓存
    ///     MVC&&ORM  启动很慢,完成了很多初始化,反射的那些东西
    ///               后面运行就很快
    ///     这才是使用反射的正确姿势!!!   

  • 相关阅读:
    ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 45, found 43. Created with MySQL 5
    centos mysql忘记密码找回(仅限mysql5.7)
    采购文件中 RFI、RFQ、RFP、IFB的区别
    VS2017安装时自动退出
    centos 虚拟机中修改屏幕分辨率
    Solved Unable to copy the source file ./installer/services.sh to the destination file /etc/vmware-t
    Idea实用功能手记
    mybatis,mybatis-generator,mybatis-plus手记
    springboot常用方法手记
    springboot日常问题处理手记
  • 原文地址:https://www.cnblogs.com/xtxtx/p/10675477.html
Copyright © 2011-2022 走看看