Отказ от ответственности: я не эксперт по Java или любому другому языку программирования в этом отношении.Тем не менее, я знаю, как найти информацию в Интернете.
Эта концепция в Java кажется неосуществимой.Для начала:
JavaScript является интерпретируемым языком, а не скомпилированным языком. Программа, такая как C ++ или Java , должна быть скомпилирована до ее запуска,Исходный код передается через программу, называемую компилятором, которая переводит его в байт-код, который машина понимает и может выполнить.В отличие от JavaScript не имеет этапа компиляции.Вместо этого интерпретатор в браузере читает код JavaScript, интерпретирует каждую строку и запускает ее.В более современных браузерах используется технология, известная как компиляция Just-In-Time (JIT), которая компилирует JavaScript в исполняемый байт-код в момент его запуска.
В основном, JavaScript имеет преимущество чтения напрямуюиз файла с исходным кодом и запуска его на лету.Скомпилированные языки, такие как Java, не будут иметь такую функциональность, встроенную по умолчанию, по многим причинам, включая безопасность.Приложение должно иметь возможность работать, не позволяя хакерам получить доступ к своему исходному коду в максимально возможной степени.
Были попытки сделать различные формы того, что вас интересует, но, похоже, два самых простых метода:
- Печать оригинального
.java
файла построчно - Хранение строковой ссылки на весь код или требуемый метод (ы).
Также представляется возможным напечатать имя метода, но не тело.
Кроме этого, единственное, что вы можете получить из скомпилированной, работающей java-программы, - это байт-код, для которого потребуется декомпиляторчтобы иметь хоть какую-то надежду на понимание источника, стоящего за этим.
Вы можете продолжить чтение по нему, воспользовавшись несколькими ссылками здесь:
Как отражать тело метода рефлексивно?
Сохранить метод в переменную, java 8
Просмотреть реализацию метода (тело метода) с помощью Java Reflection