オブジェクトのコピーでディープコピーが必要になる時、Serializableを使用する場合と、Cloneableまたはコピーコンストラクタを使用する場合があります。 Serializableを使用する方法のメリットは実装が楽という事に尽きると思います。同時に、デメリットとしてパフォーマンスが悪いというリスクを抱えることになります。 具体的にCloneableと、どの位速度が異なるか測ってみました。 その前に 検証の前にSerializableを使用する方法の流れを説明しておきます。大雑把に以下の流れになるかと思います。 コピーするクラスにSerializableマーカーインターフェースをimplementsする。*1 コピーするオブジェクトをSerializableへキャストし、ByteArrayOutputStreamにSerializableオブジェクトを書きだします。*2 ByteA