2010-09-08 9 views
22

Ich benutze Eclipse und 64-Bit-Windows und entwickle Java-Desktop-Anwendungen. Bisher habe ich nur das 32-Bit-JDK verwendet, aber gibt es irgendeinen Grund, auf 64-Bit-JDK für die Java-Entwicklung umzusteigen?Warum sollte ich das 64-Bit-JDK über die 32-Bit-Version verwenden?

+0

Haben Sie bereits Nachforschungen angestellt, bevor Sie uns um Meinungen bitten? Was waren die Ergebnisse deiner Forschung? – t0mm13b

+2

Ich habe diesen Thread nützlich gefunden: http://stackoverflow.com/questions/783662/java-32-bit-vs-64-bit-compatibility –

Antwort

19

Nein, für Ihre Entwicklungszeitaktivitäten sind wahrscheinlich 32 Bit ausreichend.

Die neuesten JVMs unterstützen die Zeigerkomprimierung, ansonsten benötigt die 64-Bit-Version einer Anwendung mehr Arbeitsspeicher. Verwenden Sie nur 64-Bit, wenn Ihre Anwendung mehr Speicher adressieren muss (32 Bit sollten 4 GB adressieren, aber OS-Überlegungen machen dies manchmal weniger).

Neben der Verschwendung von Speicher sollte eine 64-Bit-Version kein Problem sein, aber anekdotenhaft sind all die unerklärlichen Abstürze der normalerweise felsenfesten JVM, über die ich Beschwerden in 64-Bit-Versionen höre. Es könnte das Betriebssystem oder andere Faktoren sein, aber wenn Sie keinen Grund für 64 Bits haben, warum drücken Sie Ihr Glück?

+2

32-Bit-Anwendung kann nur 2GiB Speicher unter Windows zugreifen. – Monstieur

+0

@Locutus Es sei denn, sie sind große Adresse bewusst. – OMGtechy

+1

Diese Antwort ist jetzt genau 6 Jahre alt und immer noch der erste Hit bei Google. Erickson, würde es Ihnen etwas ausmachen, Ihre Antwort zu aktualisieren? (Auch wenn es nur zu sagen ist, dass das, was du gesagt hast, immer noch 2016 hält! Obwohl ich es irgendwie bezweifle.) –

9

Der Hauptgrund wäre, wenn Sie eine App schreiben möchten, die eine große Menge an Speicher verwenden kann (z. B. über 4 GB oder was auch immer die pro-Prozess-Grenze auf Ihrem Betriebssystem ist).

+1

Spät zur Party, aber für jeden anderen, der auf diesen Thread stolpert: 32-Bit-Betriebssystem hat maximal 4 GB, korrekt, aber mit PAE installiert, die bis zu 32 GB insgesamt und maximal 3 GB pro Prozesslimit erhöht ist - mehr als genug in einer Servlet-Umgebung, zum Beispiel. 2011 und kann immer noch keinen allgemeinen Anwendungsfall für ein 64-Bit-Server-Betriebssystem außerhalb des Unternehmens sehen; wenig, wenn irgendwelche Leistung profitieren, und höhere Speicherverbrauch, nein danke ... – virtualeyes

+0

Sorry ... Ich weiß, das ist alt, aber ... sagten Sie 2011 und immer noch nicht einen gemeinsamen Anwendungsfall für ein 64-Bit-Betriebssystem außerhalb sehen Unternehmen? Meistens benutzt mein Laptop, der 16GB Speicher hat, 64bit Gewinn 7 7-10GB Speicher. Ich habe mehrere Entwicklungsumgebungen oft geöffnet (Eclipse, Visual Studio 2010/2012), Browser, Bildbearbeitungsprogramme usw. Ich hasse es, zu meinem 32-Bit-Arbeitscomputer zurückzukehren, weil ich nur ein paar Programme ausführen kann, ohne zu starten Seitenfehler. – Jack

+1

Auch wenn Sie über x86/x86-64 sprechen, ist es nicht so klar geschnitten. Da der x86-64-Bogen mehr Register usw. hat, können Sie auch einen Leistungsvorteil mit 64-Bit erzielen, der die größeren Speicheranforderungen usw. ausgleichen kann. Wenn Sie auf etwas wie SPARC laufen, dann t brauchen 64bits, wenn Sie nicht den Speicherplatz benötigen. – Mike

-1

Try this:

public class Benchmark { 
    public static void main(String args[]) { 
     long time = System.currentTimeMillis(); 
     for (int a = 1; a < 900000000; a++) { 
      for (int b = 1; b < 20; b++) { 
      } 
     } 
     long time2 = System.currentTimeMillis() - time; 
     System.out.println("\nTime counter stopped: " + time2); 
    } 
} 

In 32 und 64 Bit und lachen über den Unterschied.

+0

Was ist hier los? Dies ist sehr intreguing. Ich habe das mit den 32- und 64-Bit-Versionen von JDK 8 getestet. Ich denke, die 64-Bit-Version kann besser bestimmen, was nutzlose Arbeit ausmacht, weil sie die Schleife anscheinend gar nicht macht. – agent154

+5

Warum erzählst du uns nicht einfach, was der Unterschied ist? – EnvisionAndDevelop

Verwandte Themen