Связано с: Есть ли способ получить байт-код для класса во время выполнения?
Я добавляю долговечность к Clojure, и я, наконец, готов к тому, чтобы добавить функции. В Clojure функции байт компилируются в классы с помощью методов invoke (среди прочих). Таким образом, функции являются первоклассными. Чтобы сделать эти прочные, мне нужно сериализовать и десериализовать эти классы. Как получить байт-код для класса без доступа к файлу .class?
Пожалуйста, исправьте меня, если я ошибаюсь, но при использовании агента требуется разворачивание отдельной виртуальной машины с агентом, подключающимся к первой виртуальной машине. Мне нужно сделать это с той же виртуальной машины.
Недостаточно использовать Serializable для установки и получения объекта Class. При десериализации мне нужно загрузить класс, а после последующих экземпляров VM может возникнуть конфликт имен классов. Мне нужно изменить байт-код, чтобы переименовать класс в нечто уникальное при десериализации/времени загрузки класса.