加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 定期保存/刷新/提交 – 这个模式有名称吗?

发布时间:2020-12-14 19:13:21 所属栏目:Java 来源:网络整理
导读:我发现自己一次又一次地遇到类似的问题:有一些代码处理来自用户/网络/某种类型的产品的数据.出于效率原因,我不想对我收到的每一条数据调用flush()或commit(),但只是偶尔调用. 我通常会想出这样的代码: class Processor { private final static MAX_SAVE_PE

我发现自己一次又一次地遇到类似的问题:有一些代码处理来自用户/网络/某种类型的产品的数据.出于效率原因,我不想对我收到的每一条数据调用flush()或commit(),但只是偶尔调用.

我通常会想出这样的代码:

class Processor {
    private final static MAX_SAVE_PERIOD = 60000;
    private final static MIN_SAVE_PERIOD = 20000;

    private final static int MAX_BUFFER = 10000;
    Arraylist

每次我写这篇文章时,我都会感觉到我正在重新发明轮子,更重要的是,每次编写这种代码时我都会不断更改内容,具体取决于各个部分在特定上下文中是否有意义.

在我看来,这是一个非常常见的模式,但我不记得看到它被命名或实现为库实用程序.只要我自己必须实现这一点,每当我重新实现它时,我都会面临分析瘫痪.请帮我!

更新:在我写完之后,我意识到我没有考虑在JVM关闭之前刷新缓冲区,所以我在构造函数中添加了一个关闭钩子.现在我已经意识到如果在最后一次保存之后关闭发生的时间小于MIN_SAVE_PERIOD毫秒,这段代码仍然无法正常工作,所以我应该重构saveData.又在发生了.

最佳答案
你的代码已经说过了:它被称为缓冲.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读