2010-09-08 25 views
22

Uso Eclipse y Windows de 64 bits y desarrollo aplicaciones de escritorio Java. Hasta ahora, solo he usado el JDK de 32 bits, pero ¿hay alguna razón para cambiar a JDK de 64 bits para el desarrollo de Java?¿Por qué debería usar el JDK de 64 bits en la versión de 32 bits?

+0

¿Ha investigado esto antes de pedirnos su opinión? ¿Cuál fue el resultado de tu investigación? – t0mm13b

+2

Este hilo fue útil: http://stackoverflow.com/questions/783662/java-32-bit-vs-64-bit-compatibility –

Respuesta

19

No, para sus actividades de tiempo de desarrollo, 32 bits es probable que sea suficiente.

El soporte JVM de compresión más nuevo puntero, pero por lo demás, la versión de 64 bits de una aplicación requiere más memoria para funcionar. Solo use 64 bits si su aplicación necesita direccionar más memoria (32 bits deben abordar 4 Gb, pero las consideraciones del sistema operativo algunas veces lo hacen menos).

Además de desperdiciar un poco de memoria, una versión de 64 bits no debería ser un problema, pero anecdóticamente, todos los bloqueos inexplicables de la JVM generalmente sólida que oigo quejas están en versiones de 64 bits. Podría ser el sistema operativo u otros factores, pero si no tiene una razón para 64 bits, ¿por qué impulsar su suerte?

+2

La aplicación de 32 bits solo puede acceder a 2GiB de memoria en Windows. – Monstieur

+0

@Locutus A menos que sean conscientes de la dirección grande. – OMGtechy

+1

Esta respuesta ahora tiene exactamente 6 años y sigue siendo el primer éxito en google. Erickson, ¿te importaría actualizar tu respuesta? (¡Incluso si es solo para decir que lo que usted dijo todavía tiene en 2016! Aunque de alguna manera lo dudo.) –

9

La razón principal sería si quería escribir una aplicación capaz de utilizar una gran cantidad de memoria (por ejemplo, más de 4 GB, o lo que el límite por proceso en su sistema operativo es).

+1

Tarde en la fiesta, pero para cualquier persona que se tropiece con este hilo: El sistema operativo de 32 bits tiene un máximo de 4 GB, correcto, pero con el PAE instalado que se incrementa hasta 32 GB en total y un máximo de 3 GB por límite de proceso, más que suficiente en un entorno de servlet, por ejemplo. 2011 y todavía no se puede ver un caso de uso común para un sistema operativo de servidor de 64 bits fuera de la empresa; poco o ningún beneficio de rendimiento, y un mayor consumo de memoria, no, gracias ... – virtualeyes

+0

Lo siento ... Sé que esto es viejo, pero ... dijiste 2011 y todavía no se puede ver un caso de uso común para un sistema operativo de 64 bits fuera de ¿empresa? La mayoría de las veces, mi computadora portátil que tiene 16 gb de memoria, 64 bits, gana 7, usa 7-10 gb de memoria. Tengo varios entornos de desarrollo abiertos muchas veces (Eclipse, Visual Studio 2010/2012), navegadores, editores de imágenes, etc. Odio tener que volver a mi computadora de trabajo de 32 bits porque solo puedo ejecutar algunos programas sin comenzar a usarlos. error de página – Jack

+1

Además, si estás hablando de x86/x86-64 no es tan claro. Como el arco x86-64 tiene más registros, etc., también puede obtener algún beneficio de rendimiento con 64 bits que puede compensar los requisitos de memoria más grandes, etc. Si está ejecutando algo como SPARC, entonces no lo hace Necesito 64bits a menos que necesite el espacio de memoria. – Mike

-1

Prueba esto:

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); 
    } 
} 

En 32 y 64 bits y se ríen de la diferencia.

+0

¿Qué está pasando aquí? Esto es muy intrigante Probé esto con las versiones de 32 y 64 bits de JDK 8. Me imagino que la edición de 64 bits es capaz de determinar mejor qué constituye un trabajo inútil, porque parece que no está haciendo el ciclo en absoluto. – agent154

+5

¿Por qué no nos dices cuál es la diferencia? – EnvisionAndDevelop

Cuestiones relacionadas