Les applications Windows établissent une distinction entre les bibliothèques (DLL) et les applications (EXE). Est-ce que Java fait une distinction équivalente?Comment Java distingue-t-il les bibliothèques et les applications?
Répondre
Type de.
La plupart des programmes Java sont stockés dans un fichier .jar.
Si la méthode main
est spécifiée pour le fichier .jar, il peut être appelé de la même manière qu'un fichier .exe où il lance l'exécution du programme. Vous pouvez le faire avec java -jar program.jar
.
Mais n'importe quel fichier .jar peut être chargé à partir d'un autre fichier et le code qu'il contient est chargé, de manière similaire à un fichier .dll. Cela peut être fait même si le fichier 'library' a une méthode main
, il ne sera pas appelé automatiquement.
La question est absurde. Java se compile en fichiers de classe bytecode qui sont interprétés par une machine virtuelle.
Vous pouvez lancer un tas de fichiers de classe dans un fichier zip et l'appeler un jar, mais Java n'a pas d'équivalent d'un exe ou dll.
En fait, c'est le cas. Tout avec 'public void principal (String [])' est analogue à un exe, et tout avec un fichier de classe est analogue à une DLL. – corsiKa
Ce n'est pas tout à fait analogue à un exe. L'OS ne sait pas comment exécuter le fichier/binaire seul, c'est seulement que la JVM sait comment charger le fichier JAR et traiter la méthode main(). –
@glowcoder Je peux voir ce que vous dites - Je suppose que c'est à quel point vous voulez prendre du recul et des choses abstraites. Java n'a pas de fichiers qui se comportent ou sont utilisés comme des DLL ou des exécutables. Chaque fichier de classe Java est égal aux yeux de la JVM. –
Java a des fichiers jar (Java ARchive). Cela peut s'exécuter en tant que programme principal ou en tant que bibliothèques supplémentaires.
Vous pourriez dire qu'un "JAR exécutable" (qui a une classe principale déclarée dans son manifeste) est l'équivalent Java d'un fichier EXE, alors que les autres fichiers JAR sont plus comme des DLL. La ressemblance est probablement plus proche que vous ne le pensez car AFAIK, dans Windows la différence est plutôt faible, les formats de fichiers sont largement les mêmes et vous pouvez exécuter du code à partir d'une DLL via la ligne de commande.
L'équivalent Java d'une bibliothèque est un fichier jar dans lequel vous pouvez regrouper du code.
En outre, vous pouvez empaqueter un fichier manifeste dans le jar appelé META-INF/manifest.mf avec une directive qui dit exécuter cette classe lorsque le jar est appelé par le Java Runtime de la façon suivante: java -jar MyApp .jar
Ceci vous donne l'équivalent des bibliothèques et des exécutables.
- 1. Connexion aux bibliothèques Java Code Code pour les applications Android
- 2. bibliothèques c couramment utilisées pour les applications?
- 3. Comment décharger les bibliothèques standard Java
- 4. Bibliothèques graphiques Java pour applications Web?
- 5. Autorisations java dans les bibliothèques
- 6. Big applications/bibliothèques Java Open Source
- 7. L'emplacement conventionnel pour stocker mes bibliothèques et applications Java dans les systèmes UNIX
- 8. Comment gérez-vous les fichiers de configuration et les bibliothèques intégrés dans les webapps java?
- 9. Comment télécharger les bibliothèques edu.mit.sketch.geom
- 10. Projet Java Maven dans les bibliothèques eclipse et mongodb
- 11. Comment gérer les exceptions dans les applications Web Java?
- 12. Configuration d'un serveur d'intégration continue pour les applications Web et les bibliothèques C#
- 13. différence dans l'espace de noms lein repl pour les applications et les bibliothèques lein?
- 14. Export Applet Java avec les bibliothèques référencées
- 15. JavaFX et les applications embarquées
- 16. Bibliothèques java open source pour les référentiels CVS et PVCS
- 17. Conventions de dénomination dans les bibliothèques et projets Java
- 18. Bibliothèques Naudio ou FMOD dans les applications Silverlight
- 19. Quelles applications ou bibliothèques sont disponibles pour les applications de capture d'écran sous Windows?
- 20. Y compris d'autres bibliothèques dans les applications Zend Framework
- 21. Utiliser les bibliothèques Java dans Scala?
- 22. question Débutant sur les bibliothèques Java externes
- 23. Comment structurer un référentiel composé de plusieurs bibliothèques et applications
- 24. Évolutivité et performances dans les applications Web Java
- 25. Comment fonctionnent les fichiers de balises JSP et les bibliothèques?
- 26. Rendre les applications Java Swing persistantes
- 27. Comment utiliser les bibliothèques communes pour plusieurs projets Web Java
- 28. compilation d'un Java avec les bibliothèques dans les fenêtres CMD
- 29. Comment configurer les bibliothèques java avec javaloader dans Coldfusion8?
- 30. Filetage dans les applications Web Java EE
Bonne réponse. Un nitpick est que les fichiers jar spécifient une main * classe * pas une méthode * * principale. –
En outre, les fichiers jar peuvent * contenir * plusieurs méthodes principales. –
En fait c'est une méthode. Le nom de classe peut être n'importe quoi, mais la méthode doit être appelée 'main' pour que la JVM la reconnaisse. –