Quelle est la différence entre l'architecture “neutre” et “portable”?
Je suis en train de lire Herbert Schildt du livre "Java: La Référence Complète" et là, il écrit que Java est portable ET de l'architecture-neutre. Quelle est la différence entre ces deux concepts? Je ne pouvais pas comprendre le texte.
En gros, ils disent que, en plus de courir sur de multiples environnements (en raison d'être interprété à l'intérieur de la JVM), il dirige également le même quel que soit l'environnement. Le premier est ce qui le rend portable, ce dernier est ce qui en fait l'architecture neutre. Par exemple, la taille d'un int ne varie pas en fonction sur la plate-forme; qu'il est établi par la JVM.
Excellent lien, merci! Je pense que c'est ambigu, mais à la fois signifie essentiellement la même. Peut être porté à n'importe quelle architecture. Pas du tout. Si un programme peut être porté à n'importe quelle architecture, mais fonctionne différemment sur différentes architectures, qu'il n'est pas de l'architecture neutre.
Vous pouvez prendre que le programme C et le compiler sur une machine avec un compilateur C et de le faire travailler (en supposant qu'il prend en charge printf... je suppose que certaines choses ne peuvent pas).
Si vous le compiler sous Windows et essayez d'exécuter des binaires sur un Mac, ça ne marchera pas.
Le même genre de programme écrit en Java compile aussi sur toute machine disposant d'un compilateur Java installé, mais le résultat de l' .fichier de classe sera aussi fonctionner sur n'importe quelle machine avec une machine virtuelle Java. C'est l'architecture neutre.
Donc, le portable est un code source idée, tandis que d'architecture neutre est un exécutable idée.
+1 pour la comparaison de C et de java dans ce scénario...
En cherchant, j'ai trouvé un autre livre qui décrit la différence entre les deux.
Pour l'architecture neutre, le compilateur va générer une architecture objet neutre fichier de sens qui a compilé le code Java (bytecode) peut fonctionner sur de nombreux processeurs étant donné la présence d'un environnement d'exécution Java.
Pour portable il n'y sont pas dépendant de l'implémentation des aspects de la spécification. Par exemple en C++ un int peut être de 16 bits ou 32 bits en fonction de qui est la mise en œuvre de la spécification où, comme en Java, un int est toujours en 32 bits.
J'ai eu mes informations à partir d'un autre livre (Core Java 2: les principes de base) de sorte qu'il peut différer de son sens. Voici un lien: De Base De Java 2: Les Fondamentaux
Avec l'architecture neutre, le livre signifie que le byte-code est indépendant de la plateforme sous-jacente que le programme est en cours d'exécution sur. Par exemple, il n'a pas d'importance si votre système d'exploitation est 32-bits ou 64-bits, Java byte code est exactement le même. Vous n'avez pas à recompiler votre code source Java 32-bit ou 64-bits. (Donc, "architecture", fait référence à l'architecture du PROCESSEUR).
"Portable" signifie qu'un programme écrit pour s'exécuter sur un système d'exploitation fonctionne sur un autre système d'exploitation sans rien changer. Avec Java, vous n'avez même pas à recompiler le code source; un *.classe fichier compilé sous Windows, par exemple, fonctionne sur Linux, Mac OS X ou tout autre système d'exploitation pour lequel vous avez une machine virtuelle Java disponible.
Notez que vous devez prendre soin des choses à faire de votre code Java véritablement portable. Si vous, par exemple de coder en dur de type Windows et chemins d'accès aux fichiers (C:\Users\Myself...) dans votre application Java, il n'est pas d'aller travailler sur d'autres systèmes d'exploitation.
Je soupçonne qu'il signifie que le code peut s'exécuter sur de nombreuses plates-formes sans recompilation.
Il est également possible d'écrire du code qui traite avec le système sous-jacent, sans réécrit ou conditions.
E. g. Objets sérialisés à partir d'une version 32 bits de Windows système peut être lu sur un système Linux 64 bits.
indépendant de la plateforme -> cela signifie que le programme java peut être exécuté sur n'importe quel OS sans tenir compte de son fournisseur. Il est mis en œuvre en utilisant le CODE MAGIQUE appelé "BYTE CODE". La JVM soit l'interprète au moment de l'exécution ou utilise JIT (Just in Time) de la compilation, de le compiler en code machine pour l'architecture qui est en cours d'exécution (par exemple, i386).
architecture neutre -> cela signifie que le programme java peut être exécuté sur n'importe quel processeur, quel que soit son fournisseur et de l'architecture. donc, il évite la reconstruction de problème.
portable -> un langage de programmation/technologie est dit être purement portable si elle remplit les deux fonctions.
.fichier de classe est portable car il peut fonctionner sur n'importe quel OS . La raison en est , .classe fichier généré par la JVM est de même pour tous les OS. Sur l'autre côté de la JVM est diffèrent comme OS , mais il génère de même .fichier de classe pour tous les systèmes d'exploitation, de sorte que la JVM est architecturaux neutre.
Quelle est la différence entre l'Architecture Neutre et Portable?
L'Architecture Neutre: Java est une Architecture neutre langage de programmation, car, java permet son application pour compiler sur une architecture matérielle et à exécuter sur une autre architecture matérielle.
Portable: Java est un portable langage de programmation, car, java est en mesure d'exécuter son application et tous les système d'exploitation et tous le matériel du système.
Architecture Java Neutre - nous parlons Ici de l'Architecture du Système d'Exploitation-je.e la java Générer l'Intermédiaire de Byte-code(code binaire) (gérer par la JVM) et autorise le code java à exécuter sur n'importe quel O. S pour lesquelles vous avez une machine virtuelle Java disponible( indépendamment de son O. S architecture pour gérer l'allocation de la mémoire ,l'Encaissement, le registre de la manipulation de bits , le traitement de code 32 bits ou 64 bits lors de l'interprétation du code, comme chaque interprète exécuter le code ligne par ligne - c'est gérer par la jvm avec le respect du Matériel et de l'O. S de configuration) .
Portable (sens Générique comme transférables, Indépendant de la Plateforme, ou même en ce qui concerne le code Source est fixe pour tous je.e signifie Simplement de support à plusieurs)
Java Portable moyens de java en code machine à écrire dans une seule machine et fonctionnera sur n'importe quelle machine qui a bon JVM par rapport à O. S.
Prendre un coup d'oeil à ce livre blanc sur l'île de Java.
En gros, ils disent que, en plus de courir sur de multiples environnements (en raison d'être interprété à l'intérieur de la JVM), il dirige également le même quel que soit l'environnement. Le premier est ce qui le rend portable, ce dernier est ce qui en fait l'architecture neutre. Par exemple, la taille d'un int ne varie pas en fonction sur la plate-forme; qu'il est établi par la JVM.
Je pense que c'est ambigu, mais à la fois signifie essentiellement la même. Peut être porté à n'importe quelle architecture.
Pas du tout. Si un programme peut être porté à n'importe quelle architecture, mais fonctionne différemment sur différentes architectures, qu'il n'est pas de l'architecture neutre.
OriginalL'auteur Jacob Mattison
Un portable C programme:
Vous pouvez prendre que le programme C et le compiler sur une machine avec un compilateur C et de le faire travailler (en supposant qu'il prend en charge printf... je suppose que certaines choses ne peuvent pas).
Si vous le compiler sous Windows et essayez d'exécuter des binaires sur un Mac, ça ne marchera pas.
Le même genre de programme écrit en Java compile aussi sur toute machine disposant d'un compilateur Java installé, mais le résultat de l' .fichier de classe sera aussi fonctionner sur n'importe quelle machine avec une machine virtuelle Java. C'est l'architecture neutre.
Donc, le portable est un code source idée, tandis que d'architecture neutre est un exécutable idée.
OriginalL'auteur TofuBeer
En cherchant, j'ai trouvé un autre livre qui décrit la différence entre les deux.
Pour l'architecture neutre, le compilateur va générer une architecture objet neutre fichier de sens qui a compilé le code Java (bytecode) peut fonctionner sur de nombreux processeurs étant donné la présence d'un environnement d'exécution Java.
Pour portable il n'y sont pas dépendant de l'implémentation des aspects de la spécification. Par exemple en C++ un int peut être de 16 bits ou 32 bits en fonction de qui est la mise en œuvre de la spécification où, comme en Java, un int est toujours en 32 bits.
J'ai eu mes informations à partir d'un autre livre (Core Java 2: les principes de base) de sorte qu'il peut différer de son sens. Voici un lien: De Base De Java 2: Les Fondamentaux
OriginalL'auteur Patrick McDaniel
Avec l'architecture neutre, le livre signifie que le byte-code est indépendant de la plateforme sous-jacente que le programme est en cours d'exécution sur. Par exemple, il n'a pas d'importance si votre système d'exploitation est 32-bits ou 64-bits, Java byte code est exactement le même. Vous n'avez pas à recompiler votre code source Java 32-bit ou 64-bits. (Donc, "architecture", fait référence à l'architecture du PROCESSEUR).
"Portable" signifie qu'un programme écrit pour s'exécuter sur un système d'exploitation fonctionne sur un autre système d'exploitation sans rien changer. Avec Java, vous n'avez même pas à recompiler le code source; un *.classe fichier compilé sous Windows, par exemple, fonctionne sur Linux, Mac OS X ou tout autre système d'exploitation pour lequel vous avez une machine virtuelle Java disponible.
Notez que vous devez prendre soin des choses à faire de votre code Java véritablement portable. Si vous, par exemple de coder en dur de type Windows et chemins d'accès aux fichiers (C:\Users\Myself...) dans votre application Java, il n'est pas d'aller travailler sur d'autres systèmes d'exploitation.
OriginalL'auteur Jesper
Je soupçonne qu'il signifie que le code peut s'exécuter sur de nombreuses plates-formes sans recompilation.
Il est également possible d'écrire du code qui traite avec le système sous-jacent, sans réécrit ou conditions.
E. g. Objets sérialisés à partir d'une version 32 bits de Windows système peut être lu sur un système Linux 64 bits.
OriginalL'auteur Fortyrunner
il y a 3 fonctionnalités liées à java.
OriginalL'auteur cybog
.fichier de classe est portable car il peut fonctionner sur n'importe quel OS . La raison en est , .classe fichier généré par la JVM est de même pour tous les OS. Sur l'autre côté de la JVM est diffèrent comme OS , mais il génère de même .fichier de classe pour tous les systèmes d'exploitation, de sorte que la JVM est architecturaux neutre.
OriginalL'auteur Abhishek kumar
Quelle est la différence entre l'Architecture Neutre et Portable?
L'Architecture Neutre: Java est une Architecture neutre langage de programmation, car, java permet son application pour compiler sur une architecture matérielle et à exécuter sur une autre architecture matérielle.
Portable: Java est un portable langage de programmation, car, java est en mesure d'exécuter son application et tous les système d'exploitation et tous le matériel du système.
OriginalL'auteur santosh kumar
En Termes de Java
Architecture Java Neutre - nous parlons Ici de l'Architecture du Système d'Exploitation-je.e la java Générer l'Intermédiaire de Byte-code(code binaire) (gérer par la JVM) et autorise le code java à exécuter sur n'importe quel O. S pour lesquelles vous avez une machine virtuelle Java disponible( indépendamment de son O. S architecture pour gérer l'allocation de la mémoire ,l'Encaissement, le registre de la manipulation de bits , le traitement de code 32 bits ou 64 bits lors de l'interprétation du code, comme chaque interprète exécuter le code ligne par ligne - c'est gérer par la jvm avec le respect du Matériel et de l'O. S de configuration) .
Portable (sens Générique comme transférables, Indépendant de la Plateforme, ou même en ce qui concerne le code Source est fixe pour tous je.e signifie Simplement de support à plusieurs)
Java Portable moyens de java en code machine à écrire dans une seule machine et fonctionnera sur n'importe quelle machine qui a bon JVM par rapport à O. S.
OriginalL'auteur jaskirat Singh