java - 自动生成 Java Externalizable readExternal()/writeExternal() block

标签 java serialization code-generation lombok

我正在处理一个 Java 的 native 序列化速度很慢的项目,因此我们希望转向在类上实现 Externalize 接口(interface)以获得卓越的性能。

但是,这些类有很多数据成员,我们已经意识到在编写这两个方法时很容易出错。我们只是在这些函数中读/写类的所有成员,没什么特别的。是否有某种方法可以生成 readExternal() writeExternal() block 以在离线过程中或在编译时自动外部化?

我看过http://projectlombok.org/ ,这样的东西本来就是理想的。

同样,我们希望保持这些类不可变,但不可变类无法实现可外部化接口(interface) - 我们希望使用有效 java 中的代理类模式 - 生成它也很有用。

最佳答案

I am working on a project where Java's native serialization is slow

有多慢?为什么?从长远来看,通过大量手工编码使其更快在经济上是不可行的或可维护的。序列化开销实际上应该归结为传输中的时间和空间界限。 Java 的默认序列化比您计划的所有手动编码的结果慢得惊人,没有什么特别的原因。你最好调查原因。例如,您可能会发现放置得当的 BufferedOutputStream 可以解决您所有的问题。

关于java - 自动生成 Java Externalizable readExternal()/writeExternal() block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085817/

相关文章:

winforms - 有没有可以生成Winform代码的应用程序?

c++ - pygccxml 中是否有 Python Clang 包装器来包装 GCC-XML?

java - 你可以从 Maven 中的父 POM 继承版本吗?

java - 用于猜测姓名字母的算法不会显示某些字母并卡在(I 和 R)之间。我怎样才能改进我的算法?

java - 将对象从 java 传输到 C#

c# - 如何检查字符串是否包含 C# 中的可反序列化数据?

java - 在运行时生成实体

java - Berkeley DB JE 5.0.x 在 Maven Central 中的坐标是什么?

java - 将表的内容转储到 ASCII 格式的表字符串的简单方法?

serialization - 相当于 Julia 的泡菜