我们有一个服务器从 CLI 接收请求,并使用一个非常基本的 POJO 将正在传输的状态存储在单个对象中。这个对象最终通过网络使用 OjbectStream 到我们的服务器进行序列化,服务器读取它并使用数据来处理请求。它按预期工作得很好。然而,当我今天碰巧打开 POJO 来扩展它时,我注意到它看起来像这样(由于我无法复制和粘贴,所以凭记忆写)
class param {
private transient String input;
private transient String output;
public param(String input, String output){
this.input=input;
this.output=output;
}
public String getInput(){
return input;
}
public String getOutput(){
return output;
}
}
这个 POJO 是如何工作的?如果输入和输出字符串(它拥有的唯一变量)都是瞬态的,那么当服务器从网络读取它时,我不应该得到一个空的输入和输出字符串,因此无法做任何事情吗?我知道它有效,但我无法弄清楚它为什么有效