Ускорение операций глубокого копирования Java

Мы реализовали механизм глубокого копирования общего назначения с использованием сериализации.

import java.io.*;

public class CopyUtil {

    public static Object clone(Object source) {
        Object retVal = null;
        try {
            ByteArrayOutputStream baos = new ByteArrayOutputStream();
            ObjectOutputStream oos = new ObjectOutputStream(baos);
            oos.writeObject(source);
            oos.flush();
            oos.close();

            ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray()));
            retVal = in.readObject();
        } catch (IOException ex) {
            ex.printStackTrace();
        } catch (ClassNotFoundException ex) {
            ex.printStackTrace();
        }

        return retVal;
    }
}

Существует относительно большое количество классов объектов, которые постоянно развиваются, чтобы их поддерживать - это было причиной, по которой мы применили механизм клонирования общего назначения. Нам не нравилась идея сохраненияreadObject() а такжеwriteObject() на 200+ классов.

К сожалению, механизм сериализации в Java относительно медленный, и мы испытываем проблемы, когда наша система находится в пиковой нагрузке.

Существуют ли предложенные подходы о том, как мы можем немного ускорить процесс или (если мы это неправильно выполнили) альтернативные методы клонирования объектов?

Ответы на вопрос(2)

Ваш ответ на вопрос