将java数据对象转换为服务对象

将java数据对象转换为服务对象,java,object,optimization,Java,Object,Optimization,在编写服务时,我们通常倾向于在数据对象(ORM)和服务对象(打包成JSON/XML等的对象)之间进行分离,并最终编写一个转换器,以数据对象作为输入并生成服务对象。转换器什么也不做,只是使用getter从数据对象获取数据,并将其中一些设置到服务对象中 我希望大多数人都能理解这个过程。 我想知道JDK是否有任何东西可以优化这个场景 我考虑的更多的是jvm在系统级进行优化的数组拷贝。您可以使用Serializable接口,然后使用ObjectInputStream读取对象,并使用ObjectInput

在编写服务时,我们通常倾向于在数据对象(ORM)和服务对象(打包成JSON/XML等的对象)之间进行分离,并最终编写一个转换器,以数据对象作为输入并生成服务对象。转换器什么也不做,只是使用getter从数据对象获取数据,并将其中一些设置到服务对象中

我希望大多数人都能理解这个过程。 我想知道JDK是否有任何东西可以优化这个场景


我考虑的更多的是jvm在系统级进行优化的数组拷贝。

您可以使用
Serializable
接口,然后使用
ObjectInputStream
读取对象,并使用
ObjectInputStream
写入。但更漂亮的是使用
DataInput/OutputStream
进行序列化

您所谓的“数据对象”通常称为“实体”。您所谓的“服务对象”通常称为“数据传输对象”(“DTO”)

这两个是Java对象,与所有其他Java对象一样,JVM没有任何特定的东西来优化实体到DTO的转换

无论如何,与执行SQL查询和获取实体以及序列化DTO以通过网络发送它们的成本相比,这个过程非常快。如果你有什么需要优化的,那可能不是实体到DTO的转换