用一下泛型缓存——提升程序性能

前言

  最近看到一些文章,都说程序不能光完成功能,还是要精益求精的;先来一把利刃——泛型缓存;

概念

  找度娘看了看,觉得有一个概括的不错,如下:

    泛型缓存是JIT产生全新的类,内存直接分配,由CPU查找内存地址;

  我的理解,泛型缓存是利用泛型和静态变量特征,在运行时根据不同的类型生成不同的类,由于数据是静态的,每个类的数据在内存中是共享,不用频繁创建,使用的时候直接获取就行;(这样是不是容易理解);

  下面就直接举例吧!!!

开始整

  不用泛型缓存时

  1、先建一个控制台项目;

  2、依次创建Person、Student、Worker类;

 

   3、写一个工具类,拼字符串

 

 

   4、使用方法

 

   5、运行调用,每次拼接字符串都会调用工具类中的拼接方法,每次都会创建不同的字符串;

 

   

  使用泛型缓存

  1. 在原有项目基础上增加一个泛型缓存工具类SayHelloBuilerEx

   2. 在调用的时候改成最新工具类;

 

 

 

   3. 调试使用

  静态构造函数在第一次使用时调用;

 

   后续调用就直接调用方法,获取内存中的数据;

 

   最后运行效果:

 

 

总结:

  表达能力不够啊,可能大家看文档不一定能理解,可以根据以上步骤进行调试一把就能明白,动动手!!!!!这个例子可能不太合适,可以根据这个思路可以自己尝试一下;

  本质:利用泛型类根据传入类型生成不同新类型的特征,再加上静态变量的生命周期,两者合一,从而达到泛型缓存的目的;

  应用场景:通常一般会在公共数据与类型相关的情况可以尝试使用;

 

 

 

 

 

 

 

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...