Подтвердить что ты не робот

Является ли JAR файл Java похожим на сборку .Net?

Я знаком с .NET и с какими собраниями, но, к сожалению, мои знания Java не так сильны.

Я знаю, что Java и .Net - это разные "миры" (возможно, как сравнение яблок с грушами), но являются ли JAR и .Net ассемблиями примерно эквивалентными понятиями?

Изменить: обновить базу при исходных ответах

То, как я это интерпретирую, это то, что они имеют сходство:

  • Оба могут содержать ресурсы и метаданные.

Но есть некоторые основные отличия:

  • сборка .Net скомпилирована JAR.
  • Файлы JAR не обязаны создавать Java-приложение;.Net необходимы для приложения .Net.

[Это не время для религиозной войны - я хотел бы знать, насколько я понимаю, какие из моих понятий .Net Assemblies я могу применить, чтобы получить голову вокруг Java (и, возможно, это даже поможет людям из Java другой способ).]

4b9b3361

Ответ 1

Я бы сказал "нет", они не та же концепция, отметив, что JAR можно использовать как сборку. Если вы действительно хотите окунуться в JAR файл, просто подумайте об этом как о файле ZIP. Это все, что есть на самом деле.

Чаще всего этот архив содержит скомпилированные файлы классов. И чаще всего эти файлы классов упорядочены по иерархии, соответствующие пакету классов.

Но файлы JAR часто содержат другие материалы, такие как пакеты сообщений, изображения и даже исходные файлы. Я бы посоветовал вам взломать один из них с помощью распакованного клиента по вашему выбору и заглянуть внутрь.

Формат JAR, однако, является наиболее распространенным способом упаковки дистрибутива для библиотеки Java или приложения, поэтому таким образом они очень похожи.

С точки зрения языка JAR файлы никоим образом не требуются для создания приложения или библиотеки Java, и я бы не сказал, что они являются неотъемлемой частью Java, однако как стандартная библиотека, так и JDK поддерживают обработку файлов JAR.

Ответ 2

Там есть куча технических различий, но они почти не имеют большого значения, поэтому, в основном, ДА, они являются одной и той же концепцией.

Ответ 3

На одном уровне они концептуально похожи (фрагмент байтового кода в пакете). Однако их реализация очень различна.

Файл JAR на самом деле представляет собой ZIP файл, содержащий некоторые метаданные, и все файлы Java.class(да, вы действительно можете открыть его как ZIP файл и увидеть внутри) и все, что было упаковано в нем (ресурсы, и т.д.).

Сборка .NET на самом деле является допустимым файлом PE Win32 и в некоторой степени может рассматриваться как таковой. Файл .NET.exe фактически начинает выполняться как собственный код, который загружает фреймворк, который затем загружает байт-код. "Выполнение" JAR файла требует запуска среды выполнения Java через файл .bat или ассоциацию файлов, которая затем загружает JAR файл отдельно.