В Java, есть ли способ (во время выполнения) получить байт-код, который определил определенный класс?
Другими словами, есть ли способ получить массив byte[]
, переданный ClassLoader.defineClass(String name, byte[] b, int off, int len)
при загрузке определенного класса? Я вижу, что этот метод объявлен final
, поэтому создание пользовательского ClassLoader
для перехвата определений классов кажется невозможным.
В прошлом я использовал класс ClassLoader
для получения байт-кода с помощью метода getResourceAsStream(String)
, но я бы предпочел более каноническое решение.