40 votes

Un package Java est-il l'équivalent d'un assembly .Net?

Je suis un développeur .Net qui démarre le développement Java pour Android et je voudrais savoir s'il est correct de penser aux packages Java comme les assemblages .Net.

57voto

Kelly S. French Points 7634

Non.

La meilleure comparaison serait avec un fichier Java ARchive (Jar). Java utilise des packages pour contrôler l'espace de noms et est très similaire aux espaces de noms de C #.

Voici comment je comparerais les environnements

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

5voto

froadie Points 15184

Non, je pense qu'un package Java serait plus similaire à un espace de noms

Et un assemblage serait plus comme un pot (je n'en suis pas si sûr, car je connais bien Java plus que .Net ... corrigez-moi si je me trompe)

1voto

Nuno Ramiro Points 706

Un package Java est comme un espace de noms dans .NET.

L'équivalent d'un assemblage en Java est le fichier jar.

1voto

Horst Gutmann Points 3643

Un package en Java signifie généralement juste un des espaces pour les classes et les interfaces, ce qui signifie, en réalité, une structure de répertoires spécifiques. Parfois, une .le fichier jar est également mentionné comme un paquet. C'est probablement le plus proche de vous rendre à une assemblée. Un .jar fichier peut également contenir d'autres données comme des images, ou fondamentalement un type de fichier puisque c'est juste une fermeture à glissière avec un contenu spécifique de la structure.

Dans tous les cas: d'Habitude, quand vous lisez "package" par rapport à "Java", une sorte d'espaces de noms (par l'intermédiaire de la structure de dossier, par exemple: com.mycompany.myproject) est destinée. Cela n'aide pas que certains outils de construction de désigner le processus de construction .fichier jar "emballage" ;-)

0voto

Xose Lluis Points 156

Gardez à l'esprit que je suis loin d'être un expert Java, mais de toute façon, là, il va ma prendre sur cela:

Comme l'ont souligné d'autres réponses, un paquet n'est pas l'équivalent d'une Assemblée. Cependant, je ne suis pas entièrement d'accord avec l'idée d'une .jar être l'équivalent d'une Assemblée. Pour moi, une classe Java (contenues dans une .fichier de classe) est plus proche d'une Assemblée de un .le pot est. Je dis cela en cause l'unité de charge pour le CLR est l'Assemblée (ce qui signifie que toutes les classes contenues dans cette Assemblée chargés), l'unité de charge pour la JVM est une classe (lorsque la JVM a besoin d'une classe, le chargeur de classe ne prend pas en charge toutes les classes dans le conteneur de pot, c'est juste que des charges spécifiques de la classe nécessaire).

Vous pouvez en lire plus à propos de java de chargement de classe ici: Lorsque la JVM de la charge des classes?

et ici: http://www.lansa.com/support/notes/p0294.htm

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X