在企业信息化系统中,由于操作系统的限制或为了均衡gc的性能损耗,单个JVM进程常常被设置为1.5-2.0G之间,
也就是说无论硬件拥有多大内存,单个java进程能用的内存是有限的。
静态变量在class的加载期间就会被初始化,然后被存储到jvm的内存中,直接隶属于class,与实例无关,除非class被unload,否则静态变量永远不会被GC掉,因此生命周期长
静态变量在代码中有限的使用可以优化代码执行效率,如果使用大量的静态变量 ,例如静态集合,会导致jvm的内存的高度浪费,增大OOM的概率
基础变量是可控的,集合是不可控的。
使用JVM外部缓存是消除静态集合的其中一个重要手段