Как работает javap для файлов библиотеки java? - PullRequest
0 голосов
/ 13 июля 2011

JRE содержит файлы .class для библиотечных классов.

Когда будут использоваться эти файлы .class в папке JRE?

Содержит ли JRE файлы .class для всех классов библиотеки.

Давайте рассмотрим пример ..

когда мы импортируем файлы библиотеки, мы используем определение файла класса из src.zip , а не файл .class . Например. import java.net.InetAddress . это просто, что мы наследуем библиотечный класс. Поэтому код библиотечного класса тоже соответствует нашему коду na ..

Мы не используем файл .class напрямую. Так какой смысл иметь файлы .class для этих библиотечных файлов в папке JRE?

Я искал папку JRE, но не нашел файл .class для InetAddress

Но команда javap java.net.InetAddress по-прежнему работает хорошо.

Кто-то, пожалуйста, помогите.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 13 июля 2011

javap работает в JRE, поэтому все пути, которые идут с JRE, находятся в его пути к классам. Большинство классов, которые вас заинтересуют, находятся в архиве rt.jar.

Если вы хотите декомпилировать свой собственный класс, вы должны добавить его базовый каталог в путь к классу

e.g.
$ ls
HelloWorld.class

$ javap -c -classpath . HelloWorld
1 голос
/ 13 июля 2011

Да, JRE содержит файлы классов.

...