Рекомендуемое решение для глубокого клонирования/копирования экземпляра [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Рекомендуемое решение для глубокого клонирования/копирования экземпляра [закрыто]

Сообщение Anonymous »

Мне интересно, есть ли рекомендуемый способ сделать глубокий клон/копию экземпляра в Java. Я имею в виду 3 решения, но я могу пропустить кое -что, и я хотел бы получить ваше мнение < /p>
Редактировать: включите Bohzo propositon и уточнить вопрос: это больше о глубоком клонировании, чем мелком клонировании. тоже.

pro: < /strong> < /p>
  • Контроль над тем, что будет выполнено < /li>
    Быстрое выполнение

    cons: < /strong> < /li>
    paste, paste и presemplose, paste и presemploy, paste и presemport and save < /li>

    paste. Перебрано измененное свойство) < /li>
    < /ul>
    Используйте отражение: < /h2>
    С вашими собственными инструментами отражения или с внешним помощником (например, Jakarta Common-Beans) легко написать общий метод копирования, который будет выполнять работу в одной строке. /> Легко написать < /li>
    Нет обслуживания

    минусы: < /strong> < /li>
    Меньше контроля того, что происходит < /li>
    , склонной к ошибке с изменяемым объектом, если инструмент отражения не клонирует субъекты и < /li>
    mlowable execution execution ul uk -execution ul> ul execution ul ul -execution ul ul -execution ul ul -execution ul ul execution ul ul -execution ul ul -execution ul your execution. />Use clone framework:
    Use a framework that do it for you, like :

    commons-lang SerializationUtils

    Java Deep Cloning Library

    Dozer

    Kryo
    pro:


    same as reflection
  • more control over what will be exactly be cloned.

    cons:
  • every mutable instance is fully cloned, even at the end of the hierarchy
  • could be very slow to execute
Используйте инструментацию Bytecode для записи клона во время выполнения < /h2>
javassit, bcel или cglib может использоваться для создания выделенного клонера так быстро, как одна рука. Кто -то знает, что LIB использует один из этих инструментов для этой цели? < /P>
Что я здесь пропустил?

Подробнее здесь: https://stackoverflow.com/questions/215 ... n-instance

Вернуться в «JAVA»