Как Java различает библиотеки и приложения? - PullRequest
0 голосов
/ 04 марта 2011

Приложения Windows различают библиотеки (DLL) и приложения (EXE).Java делает эквивалентное различие?

Ответы [ 5 ]

6 голосов
/ 04 марта 2011

Вид.

Большинство программ на Java хранятся в файле .jar.

Если в .jar указан метод main, его можно вызвать аналогично .exe, где он запускает выполнение программы. Вы можете сделать это с java -jar program.jar.

Но любой файл .jar можно загрузить из другого файла и загрузить код, аналогичный файлу .dll. Это может быть сделано, даже если у jar-библиотеки есть метод main, он просто не будет вызываться автоматически.

3 голосов
/ 04 марта 2011

Вопрос бессмысленный.Java компилируется в файлы классов байт-кода, которые интерпретируются виртуальной машиной.

Вы можете выбросить кучу файлов классов в zip-файл и назвать его jar, но у Java нет аналога exe или dll.

0 голосов
/ 04 марта 2011

Java-эквивалент библиотеки - это файл jar, в который вы можете упаковать код вместе.

Кроме того, вы можете упаковать файл манифеста в jar с именем META-INF / manifest.mf с помощью директивы, в которой указано runэтот класс, когда jar вызывается средой выполнения java следующим образом: java -jar MyApp.jar

Это дает вам эквивалент библиотек и исполняемых файлов.

0 голосов
/ 04 марта 2011

Вы могли бы сказать, что «исполняемый JAR» (у которого в манифесте объявлен основной класс) является Java-эквивалентом EXE-файла, тогда как другие JAR-файлы больше похожи на DLL.

Сходство, вероятно, ближе, чем вы думаете, так как AFAIK, в Windows разница также невелика, форматы файлов в основном одинаковы, и вы можете выполнять код из DLL через командную строку.

0 голосов
/ 04 марта 2011

Java имеет файлы JAR (Java ARchive).Это может выполняться как основная программа или как дополнительные библиотеки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...