草庐IT

SERIALIZATION

全部标签

java - 查找序列化对象的serialVersionUID

有没有办法确定生成的序列化Java对象的serialVersionUID?问题是我序列化了一个对象而没有明确指定serialVersionUID。现在反序列化过程提示类不兼容。但是,我没有以使其不兼容的方式更改类(class)。所以我假设在类中指定serialVersionUID就足够了,因为它存储在对象数据中。为此,我需要从序列化数据中读取serialVersionUID。 最佳答案 这对我有用:longserialVersionUID=ObjectStreamClass.lookup(YourObject.getClass())

java - Jackson:将枚举值序列化和反序列化为整数

考虑以下枚举和类:publicenumState{OFF,ON,UNKNOWN}publicclassMachine{Stringname;intnumCores;Statestate;publicMachine(Stringname,intnumCores,Statestate){this.name=name;this.numCores=numCores;this.state=state;}}并考虑以下主要功能:publicstaticvoidmain(Stringargs[]){Machinem=newMachine("Machine1",8,State.OFF);ObjectMa

java - Jackson:将枚举值序列化和反序列化为整数

考虑以下枚举和类:publicenumState{OFF,ON,UNKNOWN}publicclassMachine{Stringname;intnumCores;Statestate;publicMachine(Stringname,intnumCores,Statestate){this.name=name;this.numCores=numCores;this.state=state;}}并考虑以下主要功能:publicstaticvoidmain(Stringargs[]){Machinem=newMachine("Machine1",8,State.OFF);ObjectMa

Java Gson 在序列化期间排除字段

我有一个ConfigInstance类,其中包含一个password和一个password_hash。现在我想使用gson序列化对象,但排除password字段。publicclassConfigInstance{publicStringdatabase_address;publicintdatabase_port;publicStringdatabase_user;@Expose(serialize=false)privateStringdatabase_pass;publicStringdatabase_pass_hash;publicStringGetPass(){returnd

Java Gson 在序列化期间排除字段

我有一个ConfigInstance类,其中包含一个password和一个password_hash。现在我想使用gson序列化对象,但排除password字段。publicclassConfigInstance{publicStringdatabase_address;publicintdatabase_port;publicStringdatabase_user;@Expose(serialize=false)privateStringdatabase_pass;publicStringdatabase_pass_hash;publicStringGetPass(){returnd

java - 为什么 ObjectOutputStream.writeObject 不采用 Serializable?

为什么ObjectOutputStream.writeObject(Objecto)不拍Serializable?为什么它需要一个Object? 最佳答案 这是因为ObjectOutputStream中的writeObject覆盖了themethod在theObjectOutputinterface这不需要对象是Serializable.ObjectOutput接口(interface)指定允许将对象写入流或底层存储的方法,但这可以通过序列化以外的过程来实现。ObjectOutputStream实现了这个功能,但需要可序列化的对象。

java - 为什么 ObjectOutputStream.writeObject 不采用 Serializable?

为什么ObjectOutputStream.writeObject(Objecto)不拍Serializable?为什么它需要一个Object? 最佳答案 这是因为ObjectOutputStream中的writeObject覆盖了themethod在theObjectOutputinterface这不需要对象是Serializable.ObjectOutput接口(interface)指定允许将对象写入流或底层存储的方法,但这可以通过序列化以外的过程来实现。ObjectOutputStream实现了这个功能,但需要可序列化的对象。

java - 如何指示 jackson 序列化一个对象内的字段而不是它自己的对象?

我有一个Item类。该类中有一个itemType字段,其类型为ItemType。大概是这样的。classItem{intid;ItemTypeitemType;}classItemType{Stringname;intsomethingElse;}当我使用JacksonObjectMapper序列化Item类型的对象时,它会将对象ItemType序列化为子对象。这是预期的,但不是我想要的。{"id":4,"itemType":{"name":"Coupon","somethingElse":1}}我想做的是在序列化时显示itemType的name字段。如下所示。{"id":4,"ite

java - 如何指示 jackson 序列化一个对象内的字段而不是它自己的对象?

我有一个Item类。该类中有一个itemType字段,其类型为ItemType。大概是这样的。classItem{intid;ItemTypeitemType;}classItemType{Stringname;intsomethingElse;}当我使用JacksonObjectMapper序列化Item类型的对象时,它会将对象ItemType序列化为子对象。这是预期的,但不是我想要的。{"id":4,"itemType":{"name":"Coupon","somethingElse":1}}我想做的是在序列化时显示itemType的name字段。如下所示。{"id":4,"ite

启用扩展序列化调试信息的 Java 标志

我目前正在努力使用复杂对象在tomcat上进行HTTPsession复制。有些对象实现了Serializable,但拥有不可序列化的成员。不幸的是,默认情况下,堆栈跟踪在这里没有提供太多有用的信息。有一个标志-XX:????当发生NotSerializableException时,在堆栈跟踪中启用详细的类名。这个标志将帮助我找到错误的来源。但我忘记了它的名字国旗叫什么名字? 最佳答案 -Dsun.io.serialization.extendedDebugInfo=true 关于启用扩展