首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是什么编程技术?

这是什么编程技术?
EN

Software Engineering用户
提问于 2015-03-03 04:29:40
回答 1查看 524关注 0票数 1

我有两个Java类。第一个名为“索引”,第二个临时命名为"IndexCache":

代码语言:javascript
复制
public class IndexCache {
    private static Map<String, Index> map = null;

    static {
        map = new HashMap<String, Index>();
    }

    @Override
    public Index getIndexString(key) {
        Index index = map.get(key);

        if (index == null) {
            index = new Index("yadayadayada");
            map.put(key, index);
        }

        return index;

    }

}

如您所见,IndexCache保留索引对象的映射,以避免一次又一次地创建相同的对象。

这是什么编程技术?它的名字是什么?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2015-03-03 11:30:46

这叫做缓存,这种技术叫做缓存。

缓存是存储数据以加快对同一数据的进一步请求的东西。该数据可能是一些昂贵计算的结果,因此被缓存以避免重复该昂贵的计算。它也可能是某些数据的副本,这些数据在其他地方已经预先计算过,但检索起来却很昂贵(例如,从RAM中的一个缓慢硬盘缓存文件系统块,或者从本地代理缓存上的远程服务器缓存HTTP文档)。

每次都会动态地使用不同的值填充缓存,并且可能会增长和缩小。

这与查找表不同,查找表是静态填充的,总是使用相同的值,有时甚至硬编码到源代码中,或者在编译时预先计算。

记忆是一种特例,它专门指用相同的参数缓存函数应用程序的结果。

票数 12
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/275050

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档