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

Является ли пакет Java эквивалентом сборки .Net?

Я разработчик .Net, начинающий разработку Java для Android, и хотел бы знать, правильно ли это воспринимать пакеты Java, такие как сборки .NET.

4b9b3361

Ответ 1

Нет.

Лучшее сравнение будет с файлом Java ARchive (Jar). Java использует пакеты для управления пространством имен и очень похожа на пространство имен С#.

Вот как я сравнил среды

Java                    .Net
====                    ====
Class                   Class
Package                 Namespace
Jar                     Assembly

Ответ 2

Нет, я думаю, что пакет Java будет больше похож на пространство имен

И сборка будет больше похожа на банку (я не настолько уверен в этом, так как я гораздо лучше знаком с Java, чем .Net... исправьте меня, если я ошибаюсь)

Ответ 3

Пакет Java похож на пространство имен в .NET.

Эквивалент сборки в Java - это jar файл.

Ответ 4

Пакет в Java обычно означает просто пространства имен для классов и интерфейсов, что на самом деле означает определенную структуру каталогов. Иногда файл .jar также упоминается как пакет. Скорее всего, это ближе всего к сбору. Файл .jar также может содержать другие данные, такие как изображения, или в основном своего рода файл, поскольку он снова является zip файлом с определенной структурой содержимого.

В любом случае: Обычно, когда вы читаете "пакет" в отношении "Java", подразумевается какое-то пространство имен (через структуру папок, например: com.mycompany.myproject). Это не помогает некоторым инструментам сборки ссылаться на процесс создания файла .jar как "упаковки"; -)

Ответ 5

Имейте в виду, что я далек от эксперта по Java, но, во всяком случае, там я беру на себя следующее:

Как указано в других ответах, пакет не является эквивалентом Ассамблеи. Однако я не полностью согласен с идеей того, что .jar является эквивалентом Ассамблеи. Для меня класс Java (содержащийся в файле .class) ближе к сборке, чем к .jar. Я говорю это, в то время как блок загрузки для CLR является сборкой (что означает, что все классы, содержащиеся в этой сборке, загружаются), блок загрузки для JVM - это класс (когда JVM нужен класс, ClassLoader не загрузите все классы в контейнер-контейнере, он просто загружает определенный класс).

Подробнее о загрузке java-класса вы можете узнать здесь: Когда загружаются классы JVM?

и здесь: http://www.lansa.com/support/notes/p0294.htm