我对性能优化有疑问。
从Cache或Java堆中检索哪个更快?
根据我得到的定义: -
如果通过我的java代码将数据存储在缓存中比将其存储在java堆中更快,那么我们是否应该始终将数据存储在缓存中,以便更快地访问复杂的计算和结果。?
请指导哪一个更快,以及用户场景何时使用另一个...
由于
答案 0 :(得分:2)
你混淆了不同的概念。
引用是:
RAM和缓存之间的区别在于其性能,成本和与CPU的接近程度。缓存更快,成本更高,并且最接近CPU。由于成本,缓存比RAM少得多。最基本的计算机是CPU和数据存储。
这与计算机体系结构有关,适用于所有计算机,无论您使用何种编程语言。无法直接控制缓存中的数据。 CPU缓存将保存经常自动请求的数据。程序员可以改进他们的程序,使其更友好"到特定的硬件架构。例如,如果CPU只有一个小缓存,则可以优化代码以处理较小的数据集。
Java Cache是不同的东西。这是一个缓存Java对象的库,例如将请求保存到外部服务。 Java Cache可以将对象数据存储在堆外,堆在单独的内存或磁盘中。堆内部访问速度最快,因为对于堆外的任何存储,对象需要转换为字节流(称为序列化或编组)