Tag: 序列化

在Java中序列化日期

我通过Web服务传递一些对象,其中一些包含java.sql.Date。 因为Date没有空构造函数,所以它不希望序列化。 问题的第一部分很简单:在客户端和服务之间传递日期的最佳方法是什么? 第二部分有点棘手:一旦我决定如何传递日期,我显然可以声明日期瞬态并使一些包装类将日期作为字符串或其他方式传递,但如何将相同的解决方案尽可能透明地应用于包含Date的几个类? (我有一种预感,DynamicProxy可能是一个解决方案,但阅读Sun网站上的文档并不是很有帮助,所以如果它确实是朝这个方向发展的话,那么一些澄清将会受到赞赏) 编辑:我问了错误的问题,对不起(我和同事之间的一些误解实际上是一个问题)。 由于反序列化而出现问题。 因此,一旦我有xml格式的日期,它会尝试将自身反序列化为GregorianCalendar。 问题的其他部分仍然存在:接收某些东西(长时间戳或GregorianCalendar)并将其转换为sql日期的最佳方式是什么,而不为10个不同的类制作10个不同的包装器。 我正在使用NetBeans代码和wsdl生成。

Java无效流头问题

我写了一个客户端 – 服务器应用程序,现在我面临一个我不知道如何解决的问题: 这是客户: try { Socket socket = new Socket(ip, port); ObjectOutputStream ooos = new ObjectOutputStream(socket .getOutputStream()); SendMessage message = new SendMessage(); message.numDoc = value.numDoc; message.docFreq = value.docFreq; message.queryTerms = query; message.startIndex = startIndex; message.count = count; message.multiple = false; message.ips = null; message.ports = null; message.value = true; message.docFreq = value.docFreq; message.numDoc = […]

什么是Java中的Serializable?

可能重复: Serializable是什么意思? 我有 class Person implements Serializable { } 这有什么用,如果我只是使用会发生什么 class Person { }

Java – 反序列化InvalidClassException(无有效的构造函数)

我正在尝试序列化一个对象,然后在将其数据发送到客户端程序后反序列化它。 这是对象inheritance如何工作的一个例子。 我正在序列化和反序列化的对象是人。 生活 – >动物 – > NPC – >人 – >儿童 Living,Animal和NPC不实现Serializable。 我无法改变这三个class级。 Person和Child确实实现了Serializable。 人与生活也是抽象的阶级。 我可以将一个Person(谁是一个Child)序列化并发送它,但是当我尝试反序列化一个Person(谁是一个Child)时,我在Child上得到一个InvalidClassException,说“没有有效的构造函数”。 为什么会这样? Must Living,Animal和NPC都实现Serializable?

如何从自定义Gson JsonSerializer调用另一个序列化程序?

我有我的自定义类User : class User { public String name; public int id; public Address address; public Timestamp created; } 我现在正在为User.class创建一个自定义的JsonSerializer: @Override public JsonElement serialize(User src, Type typeOfSrc, JsonSerializationContext context) { JsonObject obj = new JsonObject(); obj.addProperty(“name”, src.name); obj.addProperty(“id”, src.id); obj.addProperty(“address”, src.address.id); // Want to invoke another JsonSerializer (TimestampAdapter) for Timestamp obj.add(“created”, ???); return obj; } 但我已经有一个TimestampAdapter用于Timestamp.class […]

Java中对象XML序列化的最佳方法

我正在编写服务以在我们的应用程序中实现审计,其中用户可以在任何修改之前和之后查看特定实体的状态,并且还应该能够回滚。 我们已决定将XML Serialized对象存储在XML_TYPE列的数据库中。 我是序列化的新手,我不知道如何实现相同,需要对要序列化的对象进行任何更改,或者我们需要有任何映射XML。 有人可以建议一些好的库,我知道市场上有很多可用的产品,如JAXB,JIBX,JABX,XStream等。哪一个会好,如何使用它。 任何帮助都非常感谢。 此致,拉维。

unit testingjava项目中所有类的可序列化

我的java项目中有数千个类。 其中一些实现了可序列化的接口。 现在这是一个问题。 有人可以进入一个类,添加既不是瞬态也不可序列化的新变量。 代码编译正常但是进程会在运行时爆炸。 为了说明这一点 class Foo implements Serializable { …. // all good } class Foo implements Serializable { // OOps, executorService is not serializable. It’s not declared as transient either private ExecutorService executorService = .. } 我正在考虑编写一个unit testing,通过所有课程并确保“真正的可串行化”。 我已经阅读了一些关于连续特定对象的讨论。 我理解这个过程,但它需要 1)创建一个对象。 2)序列化然后 3)反序列化。 是否有更有效和实用的方法。 也许用reflection。 通过所有类,如果类具有可序列化,则所有属性必须是可序列化的或具有临时关键字。 想法?

序列化包含对象java的对象

我尝试序列化一个包含其他对象的对象,该对象本身是可序列化的。 有没有办法让它发挥作用? 当我序列化第一个对象时,指向另一个对象的指针似乎丢失了。

Kryo反序列化失败,出现“KryoException:Buffer underflow”

我使用Kryo将对象写入字节数组。 它工作正常。 但是当字节数组转换为对象时,它会抛出, com.esotericsoftware.kryo.KryoException: Buffer underflow. 例外。 这是我的反序列化: Kryo k=new Kryo(); Input input=new Input(byteArrayOfObject); Object o=k.readObject(input,ObjectClass.class); 此外,始终无法在我的应用程序中定义对象类型。 在最后的过程中,类转换发生。 因此, 如何解决上面的反序列化错误 有没有办法创建Object而不将类赋予readObject(…,ClassName)?

Phoenix不会正确显示负整数值

我正在创建一个值为整数-17678的HBASE表。 但是当我从pheonix中检索它时,它给了我一个不同的正值。 RowKey是一个复合rowkey,rowkey没有问题。 Hbase插入: public class test { public static void main(String args[]) { Configuration config = HBaseConfiguration.create(); Connection connection = ConnectionFactory.createConnection(config); Table table = connection.getTable(TableName.valueOf(“TEST”)); Integer i=-17678; try { Put p = new Put(Bytes.toBytes(“rowkey”)); p.addColumn(Bytes.toBytes(“test”),Bytes.toBytes(“test”),Bytes.toBytes(i)); table.put(p); } finally { table.close(); connection.close(); } } } 凤凰检索: 从TEST中选择CAST(“Value”AS INTEGER); +——————————————+ | TO_INTEGER(test.”Value”) | +——————————————+ | 2147465970 […]