9
votes

Applications Java 64 bits: est un système d'exploitation 64 bits, JRE 64 bits et une application 64 bits requise?

Cette question est d'environ 64 bits d'applications Java en général, même si je suis venu sur elle à cause de travailler avec NetBeans / Eclipse. J'utilise un processeur 64 bits avec un système d'exploitation 64 bits (Windows 7). Je voulais exécuter NetBeans / Eclipse avec plus de 4 Go de mémoire de tas (c'est-à-dire à l'aide du drapeau XMX), mais je rencontre une certaine confusion. Il ne semble pas y avoir une version de Netbeans 64 bits, et bien qu'il existe des versions de 64 bits d'Eclipse pour d'autres systèmes d'exploitation, il n'y en a pas pour Windows. En outre, je ne trouve pas une version 64 bits du dernier JRE / JDK (j'ai lu des sites mentionnant l'existence de ceux-ci, donc je ne sais pas si le soleil vient de les retirer temporairement).

Maintenant que j'ai expliqué ma situation, mes questions sont les suivantes:

  1. Quel logiciel dois-je exécuter NetBeans / Eclipse / (application Java aléatoire) avec plus de 4 Go de mémoire de tas? Avoir un système d'exploitation 64 bits suffisant? Est-ce que j'ai aussi besoin d'un jre 64 bits?
  2. Je pensais que Java Source Code et Java Bytecode était indépendante de l'architecture, comme dans un programme Java compilé avec un JDK 32 bits de 64 bits peut être exécuté sur une machine différente avec un 32 bits ou 64 bits Jre. Si cela est vrai, pourquoi Eclipse a-t-elle une version 32 bits et une version de 64 bits (je me rends compte qu'elles n'en ont pas une pour Windows, mais elles en ont une pour Linux)? Cela signifie-t-il que Eclipse a probablement des bibliothèques indigènes, pour lesquelles 32 bits vs. 64 bits importeraient?

    Merci d'avance,
    Red.OCTOBER

    Mise à jour 1:
    OK, il s'avère une version 64 bits d'Eclipse pour Windows, mais elle est enterrée en profondeur pour une raison quelconque (au moins elle, je n'ai pas vu où elle était liée à la page principale). Après avoir cherché un peu plus longtemps, j'ai trouvé un Blog POST qui a déclaré que vous pouvez obtenir 64 bits Eclipse pour Windows à Téléchargements Eclipse . Ce lien pointe sur une page avec des liens vers de nombreuses versions de libération différentes - je viens de choisir la dernière version stable (3.5.1 au moment de cet article). Cette deuxième page répertorie divers téléchargements pour Eclipse 3.5.1, et pour chaque téléchargement, vous disposez d'une large gamme d'architectures (32 bits et 64 bits) et d'OS (E.G., Windows, Linux) à choisir. J'ai personnellement choisi le téléchargement Eclipse SDK - ceci est livré avec "Plate-forme Eclipse, outils de développement Java et environnement de développement plug-ins, y compris la documentation de source et de programmeur". Je ne suis pas sûr d'avoir besoin de la source ou de la documentation, mais je pense que je peux toujours l'enlever plus tard.


0 commentaires

3 Réponses :


9
votes

Oui, vous aurez besoin d'un JVM 64 bits pour utiliser toute votre mémoire. Je ne suis pas à jour avec ce que vous pouvez obtenir pour Windows, je vais donc laisser quelqu'un d'autre répondre à cela.

Cependant, je pense que la principale raison pour laquelle vous ne pouvez pas trouver un NetBeans 64 bits est qu'il est 100% pure Java et architecture indépendante. Eclipse fournit un cadre d'interface graphique alternative avec un aspect plus indigène et une sensation (SWT) et l'utilise pour l'environnement de développement lui-même. Une fois que vous avez un lien vers votre application Java aux bibliothèques autochtones, vous devez distribuer les bibliothèques de l'architecture correcte, d'où la dépendance à l'architecture de la distribution Eclipse (votre deuxième élément).


3 commentaires

Cela signifie-t-il pour distribuer des applications Java, je dois développer dans l'éclipse de l'architecture correspondante?


@Chris: Non, pas du tout. Il vous suffit de vous assurer que les fichiers binaires de plate-forme sont expédiés avec votre produit et sont chargés correctement. Il existe de nombreuses pages là-bas décrivant comment faire cela et je suis sûr que c'est dans la FAQ SWT également ( ECLIPSE.ORG/SWT/FAQ.PHP )


Merci de clarification, appréciez aussi le lien. J'ai passé tellement de temps au cours des dernières années de côté du serveur, parfois j'oublie des emballages pour le côté du client.



2
votes

Vous pouvez exécuter un JDK ou JRE 64 bits dans Windows 7, je les exécute maintenant.

KIT DE DÉVELOPPEMENT JAVA SE 6U16

Java SE Runtime Environment 6U16

Choisissez quel système d'exploitation dans la liste déroulante Vous avez le choix de Windows 32 ou 64 bits.


1 commentaires

Je devrais probablement diviser cette question - Fredrik répondit mes questions générales, mais vous avez répondu à la manière dont je pouvais obtenir le JDK6 64 bits (donc j'ai donné à la fois des réponses A +1). Il s'avère que mon problème était que j'ai essayé de télécharger l'EXE combo JDK + NetBeans, et celui-ci est automatiquement fourni avec la version 32 bits du JDK. Merci.



1
votes

Il n'existe pas d'une "application" de 64 bits 'Java'. Les classes compilées Java sont en bytecode Java, période. Exécution des programmes sur un JVM 64 bits (qui nécessite à son tour un système d'exploitation 64 bits) leur donne accès à plus de mémoire, mais la différence est invisible au programme car tous les accès à la manipulation de la mémoire sont cachés et tous les types de données sont identiques.

Voir aussi Cette question


2 commentaires

@JHERICO: Dans ce cas, je pense que votre réponse est Sémantican PAP, il souhaite accéder à des quantités de mémoire qui dépassent les limites d'un JVM 32b et de démission de votre idée de rien, il pourrait utiliser longtemps pour chaque variable et elle serait vraiment une application Java de 64B. (Inutile, mais possible.)


@sudo noob: Je pense que JHerico a répondu correctement à ma question. Une application Java sans code natif n'a pas de version 32 bits ou 64 bits (ce que je posais ce que je demandais) - vous écrivez et compilez-la une fois, et des choses telles que la quantité de mémoire qu'il peut accéder dépend de la JVM et plate-forme matérielle. Je ne pense pas que l'application 64 dans 64 bits signifie que tous les types de données sont maintenant de 64 bits de longueur (je pense qu'un caractère est encore de 8 bits longs dans des applications C 64 bits).