当前位置: 首页 > 知识库问答 >
问题:

Java:编年史映射支持不同的值类吗?

富钧
2023-03-14

我通常使用ChronicleMapBuilder创建新的编年史映射,如下所示:

ChronicleMapBuilder<SomeKey, MyImplClass> builder
        = ChronicleMapBuilder.of(SomeKey.class, MyImplClass.class);

ChronicleMap<SomeKey, MyImplClass> map
        = builder.constantKeySizeBySample(someKey)
                 .averageValue(someValue)
                 .entries(myCollection.size())
                 .createPersistedTo(myFile);

历史记录映射是否支持不同值类实例的存储,如果支持,如何构建该映射?

ChronicleMapBuilder<SomeKey, MyInterfaceThatHasManyDifferentImplementations> builder
        = // .. now what?

共有1个答案

林德惠
2023-03-14

ChronicleMapBuilder#of接受两个参数。在最坏的情况下,您可以使用object.class作为值类(第二个参数),并在映射中存储所需的任何值。

 类似资料:
  • 什么是实现历史地图的最佳方式,其中值侧是地图或集合? 我需要类似于以下内容的数据结构,我可以使用特定id存储某些数据的多个版本: 或者可能有两张地图: (原子性和序列化性能是我主要关心的问题)方法似乎不适用于标准映射/集实现。

  • 我正在尝试使用Flink的SQL API从地图访问密钥。它失败,线程“main”组织中出现错误异常。阿帕奇。Flink。桌子应用程序编程接口。TableException:不支持类型:任何请告知我如何修复它。这是我的活动课 这是提交flink作业的主类 当我运行它时,我得到了例外 我正在使用flink 1.3.1

  • avro.version= 在avro模式中,map type不支持缺省值。我尝试了以下不同的模式。 第一: 第二: 第三: Java代码如下: 我只希望constraintQuantities和RawQuanties为null。因为这些是可选字段。即使我没有将它们设置为null,它也会抛出异常。 最重要的是,方法生成java POJO,但无法构建该对象。 如果不设置它们为空,然后接收以下异常:

  • 我试图在两个进程之间共享从USB摄像头(logitech c270)接收到的帧(图像),以便避免出现。我正在使用这里描述的内存映射流式I/O方法,在使用后,我可以成功地从相机获取帧。但是,我有另一个进程(用于图像处理),它必须在出列后使用图像缓冲区,并向第一个进程发出信号,再次对缓冲区进行排队。 在网上搜索,我可以发现打开视频设备多次是允许的,但是当我尝试映射(尝试两个和只是)在第二个过程后成功的

  • 在Java web应用程序的根目录中有以下两个servlet和一个index.html页面。html页面收集一些数据,使用Insert servlet插入数据,然后向用户提供一个URL来检索数据(即http://localhost:8080/12345)。我希望用户能够将http://localhost:8080/12345放在浏览器中,并调用Retrieve servlet。 现在发生的事情是,