Java 中 cache 和 全局静态变量的 区别 优点缺点,希望不要全拷贝的答案。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中 cache 和 全局静态变量的 区别 优点缺点,希望不要全拷贝的答案。相关的知识,希望对你有一定的参考价值。

首先我说说自己一些疑问,大数据量不经常增删改的数据,使用缓存数据,比较方便,
但是为什么很少有人用 全局静态变量去保存数据呢? 感觉都差不多吧,一样都是服务器关掉,数据清空, 或者存在内存中,或者存到硬盘上,2者都可以实现!

最多是效率一个高些一个低些,内存占用率以及其他性能吧?

1. 他们的区别是不是就在效率 和实现方式不一样?
2. 他们的使用是否可以当作一种 操作来看待,都是保存一定数据,全局引用,无需多余的操作数据去查询。都可以实现吧、

Java 各cache框架的实现底层就是基于 全局静态变量,你也可以自己去封装一个试一下,使用上差异不大。但是实际中还是推荐你要使用第三方缓存框架,如oscache,echache等,因为这些第三方框架已经实现了 如 分布式环境的缓存等复杂操作、还有功能也比较强大。要是自己实现分布式环境下的缓存,难度也是很大的。 参考技术A 一般我们再java中实现cache的方法是制作一个全局的静态map的方式.
那么也就相当于静态变量了
可能您搞混淆了,其实二者就是一个东西追问

那么 EHcache 呢 这个轻量级缓存 核心也是全局静态map方式么。

而且我记得Ehcache 提供可以存储到本地硬盘,内存之类的功能。只是封装了全局静态map么·

追答

EHcache用的和map的思想应该不同的.虽然说都叫cache 但是所用场景不同

本回答被提问者和网友采纳
参考技术B 通常我会在项目中建立一个类,专门用于你说的不经常改变的数据存储。感觉性能很快,快慢没差多少。

C++中的全局变量普通局部变量和静态局部变量的区别

在C++中,我们经常难以说清楚全局变量、局部变量和静态局部变量的区别。本博客从变量存储特性和标识符作用域两个角度区分这三个变量。

首先,我们来看看C++程序的内存区域是如何分配的。

从上图,我们可以看到,C++程序的内存区域分为代码区、全局数据区、堆区和栈区。其中,全局变量和静态局部变量存放在全局数据区,这两个变量在程序开始时就已经分配和初始化存储空间了。而普通局部变量存放在栈区,它在程序进入声明的代码块时生成,在结束代码块时删除。

 

其次,从标识符作用域的角度,我们可以认为:

1. 全局变量和静态局部变量具有文件作用域

2. 普通局部变量具有函数作用域或者块作用域

 

以上是关于Java 中 cache 和 全局静态变量的 区别 优点缺点,希望不要全拷贝的答案。的主要内容,如果未能解决你的问题,请参考以下文章

java之static变量与全局局部变量的区别

java中的全局变量和静态变量是在编译时分配内存还是在加载时分配内存??

请问C++语言里静态变量和全局变量有啥区别?谢谢

在C#中静态变量是否全局变量

java中静态成员变量、实例变量、局部变量何时创建、何时销毁?

VC中public定义的变量与全局变量的区别??