前言
最近看到一些文章,都说程序不能光完成功能,还是要精益求精的;先来一把利刃——泛型缓存;
概念
找度娘看了看,觉得有一个概括的不错,如下:
泛型缓存是JIT产生全新的类,内存直接分配,由CPU查找内存地址;
我的理解,泛型缓存是利用泛型和静态变量特征,在运行时根据不同的类型生成不同的类,由于数据是静态的,每个类的数据在内存中是共享,不用频繁创建,使用的时候直接获取就行;(这样是不是容易理解);
下面就直接举例吧!!!
开始整
不用泛型缓存时
1、先建一个控制台项目;
2、依次创建Person、Student、Worker类;
3、写一个工具类,拼字符串
4、使用方法
5、运行调用,每次拼接字符串都会调用工具类中的拼接方法,每次都会创建不同的字符串;
使用泛型缓存
1. 在原有项目基础上增加一个泛型缓存工具类SayHelloBuilerEx
2. 在调用的时候改成最新工具类;
3. 调试使用
静态构造函数在第一次使用时调用;
后续调用就直接调用方法,获取内存中的数据;
最后运行效果:
总结:
表达能力不够啊,可能大家看文档不一定能理解,可以根据以上步骤进行调试一把就能明白,动动手!!!!!这个例子可能不太合适,可以根据这个思路可以自己尝试一下;
本质:利用泛型类根据传入类型生成不同新类型的特征,再加上静态变量的生命周期,两者合一,从而达到泛型缓存的目的;
应用场景:通常一般会在公共数据与类型相关的情况可以尝试使用;