Java 用于序列化的最小集合

Java 用于序列化的最小集合,java,performance,serialization,collections,vector,Java,Performance,Serialization,Collections,Vector,我有一个Java应用程序,胖客户端,服务器,数据库。所有服务器方法调用都返回一个向量——服务器代码最初是在几年前构建的,为了保持一致性,它保持不变。无论调用什么,向量始终返回2个位置。第一个位置是error objector null,用于在处理方法调用时向客户机发出服务器出现的任何问题的警报。第二个位置是我们想要的数据。它可以是对象的数组列表、字符串、int等;不管胖客户在找什么 我试图减少服务器调用的占用空间并提高性能。我看到的一件事是移除返回的向量并用其他东西替换它们。我的问题是什么。如上

我有一个Java应用程序,胖客户端,服务器,数据库。所有服务器方法调用都返回一个向量——服务器代码最初是在几年前构建的,为了保持一致性,它保持不变。无论调用什么,向量始终返回2个位置。第一个位置是error objector null,用于在处理方法调用时向客户机发出服务器出现的任何问题的警报。第二个位置是我们想要的数据。它可以是对象的数组列表、字符串、int等;不管胖客户在找什么

我试图减少服务器调用的占用空间并提高性能。我看到的一件事是移除返回的向量并用其他东西替换它们。我的问题是什么。如上所述,此集合的长度始终为2个位置,如果没有错误,则将位置0作为错误对象null,并将位置1作为我的数据。它不需要排序,基本上用于返回2个参数的方法,并在从服务器到客户端的过程中序列化它们

除了将位置0和1传输到客户端之外,我不需要其他功能,因为一旦该集合到达客户端,就会检查位置0是否存在错误,并且位置1会被拉出并作为存储在那里的任何对象传递给调用代码段

有什么建议吗?

创建一个类:

class MeaningfulNameForTheResult
{
  public Error error;
  public Object result;
}
并以此作为结果

根据您的需要,将属性设置为私有或非私有,以及是否添加setter/getter,。。。但总体思路是:创建一个具有两个序列化属性的类


编辑:也许。。。根据您的需要,您甚至可以完全移除该对象。如果一切正常,只需返回所需的结果对象,如果出现问题,则返回错误对象。在客户机中,取消序列化对象,然后检查类型。如果是错误实例,则您知道这是错误,否则这是您的结果。

如果您试图减少服务器调用的占用空间并提高性能,那么性能瓶颈是什么?它肯定不是阵列车辆。在了解前五大性能瓶颈之前,不要优化任何东西。