有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

持久性如何在java中非持久地存储列表的内容

在我的应用程序中,我有一组包含一些信息的文件。现在我要做的是处理这些文件,在那些重复的文件中,我必须跳过它们,这样我就可以使用文件CRC来检查哪些文件被处理,哪些文件没有被处理,所以现在在重复检查的情况下,我必须将文件CRC存储到某个地方,因为今天的处理结束后,明天我必须再次处理文件。然后,如果某些文件与今天的文件重复,则应跳过这些文件。所以现在我在代码中所做的是

               filesSize += fileInf.srcFileSize;
                // if file if already polled and under processing or in execution queue
                if (filesInQueue.get(fileInf.srcFileCRC) != null) {
                    System.out.println("Skipping queued file: " + fileInf.srcFileName);
                    ifCRCExist.add(fileInf.srcFileCRC);

fileInf。srcFileCRC,是我添加到列表中的必需文件crc,现在我已经将列表非持久性地存储在一些地方,我可以在以后使用它们来检查记录。。我想我现在清楚了。。请任何人帮帮我


共 (2) 个答案

  1. # 1 楼答案

    如果你想要一个非持久性的存储意味着不是在DB或XML中,那么就创建一个类 并创建一个静态列表成员。现在,只需初始化一次,就可以多次使用它。就像单子模式一样

  2. # 2 楼答案

    Java中的每个实例本质上都是暂时的。你在找Singleton吗?您可以将ArrayList作为一些Class的静态字段提供。例如:

    public class InMemoryStore {
        public static final List<String> MY_SINGLETON_LIST;
    
        static {
            MY_SINGLETON_LIST = ...
        }
    }
    

    或者你也可以用Spring创建一个bean