我正在处理一个 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/