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

Apache Thrift中的自定义容器类型

吴展
2023-03-14

如何使用Apache Thrift编写自定义容器类型?

我知道,在默认情况下,Thrift中的任何map声明都会扩展HashMap。

是否有一种方法可以修改它以扩展ConvoltHashMap而不是HashMap?

例如,if测试。节俭的定义如下:

结构测试数据{1:字符串id,2:地图详细信息}

如何确保此映射作为ConcurrentHashMap实现?

谢谢

共有1个答案

宁锐
2023-03-14

有树预定义的容器类型(<代码>列表

虽然Thrift确实使您能够以多种方式自由构建structs,但基本IDL数据类型和容器没有扩展。

一些语言绑定(如C)允许通过IDL注释自定义容器实现(即生成的代码中实际使用了哪些类)。然而,只有一小部分语言支持这一点,而AFAIK Java不是其中之一。

如何确保此映射作为ConcurrentHashMap实现?

您需要更改Thrift编译器或以某种方式对生成的代码工件进行后处理。

 类似资料:
  • 经过之前编章的介绍,我们知道在 Python 中,常见的容器类型有: dict, tuple, list, string。其中也提到过可容器和不可变容器的概念。其中 tuple, string 是不可变容器,dict, list 是可变容器。 可变容器和不可变容器的区别在于,不可变容器一旦赋值后,不可对其中的某个元素进行修改。当然具体的介绍,可以看回之前的文章,有图文介绍。 那么这里先提出一个问题

  • 问题 你想实现一个自定义的类来模拟内置的容器类功能,比如列表和字典。但是你不确定到底要实现哪些方法。 解决方案 collections 定义了很多抽象基类,当你想自定义容器类的时候它们会非常有用。 比如你想让你的类支持迭代,那就让你的类继承 collections.Iterable 即可: import collections class A(collections.Iterable):

  • 我正试图通过WebClient发布以获取microsoft令牌: 问题在于,microsoft无法处理内容类型:application/x-www-form-urlencoded;charset=utf-8。 Spring会自动将charset=utf-8添加到请求中。我需要把这额外的字符集去掉。我需要一个内容类型:application/x-www-form-urlencoded。这可能吗?否则

  • 我一直在尝试实现RESTFul体系结构,但我完全搞不清自定义媒体类型是好是坏。 目前,我的应用程序使用Http-Link:header传递“链接”。这很好,我将其与title属性一起使用,允许服务器描述这个“动作”到底是什么,尤其是当呈现给用户时。 我感到困惑的是是否应该指定自定义mime类型。例如,我有一个用户的概念。它可能与当前资源相关联。我要编一个例子,说我有一件拍卖品。我们可能有一个用户在

  • 我在我的JSF应用程序中使用容器管理的安全性,因此我有一个低于默认设置的登录页面。 现在在登录页面中,我想在登录按钮旁边添加一个按钮,以允许用户注册。 但我该如何将其转发到我的登记簿。我的注册按钮的xhtml页面?我用以下代码进行了尝试: 我也尝试将表单更改为h: form,以便我可以使用p:命令按钮,但正如我注意到的,我的登录页面不工作,当我单击提交按钮时什么也没有发生。 如何实现我想做的事?

  • 主要内容:创建自定义适配器,注册自定义适配器,使用适配器Gson使用其内置适配器执行对象的序列化/反序列化。 它也支持自定义适配器。 让我们来讨论如何创建一个自定义适配器以及如何使用它。 创建自定义适配器 通过扩展类并传递目标类型的对象来创建自定义适配器。 重写读写方法分别执行自定义的反序列化和序列化。 注册自定义适配器 使用注册自定义适配器并使用创建一个Gson实例。参考以下实现代码 - 使用适配器 Gson现在将使用自定义适配器将Json文本转换为