java - 如何在序列化后获取类型的长度

标签 java bytesio

<分区>

我遇到一个问题,使用 Java,我有一个 map ,例如 map<K,V> , KV可以是任意类型,例如 int , Long , String , Time

map 序列化后,能不能得到K的长度?或 V ?我可以写一个通用的方法来实现这个想法吗?像这样的东西:

public long getLength(object obj) {
    //how to get the length of this obj, obj can be any type
}

怎么会这样?

最佳答案

没有。

但你可以近似here's a nice article about a sizeof function .

原因是您可以更改默认的二进制序列化(有点冗长)。对这些工具进行了比较,上次我在这个主题中,Kyro 是最优化的(比默认的 Java 二进制序列化小 10 倍,因为它既不导出冗余数据,也不导出任何与验证相关的数据)。

enter image description here

Here's a comparison about the tools .

关于java - 如何在序列化后获取类型的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21332807/

相关文章:

java - 如何定位id为动态的行

python - 如何将 BytesIO 对象附加到 Webob.Response 对象

python - 带有 python v2.5 的 BytesIO

JavaFX如何将一个形状重叠到另一个上

python-3.x - 将 io.BytesIO 对象传递给 gzip.GzipFile 并写入 GzipFile

javascript - python PIL _io.BytesIO 无法读取用 Canvas 转换的图像

python - 为什么 TextIOWrapper 关闭给定的 BytesIO 流?

java - 未找到 HikariCP LoggerFactory 类定义

java - 如何从 Intellij IDEA 取消隐藏类?

java - 在另一个线程上更新 DefaultListModel