2009-10-29 23 views
9

Esta pregunta es acerca de las aplicaciones Java de 64 bits en general, aunque me encontré con ella por trabajar con Netbeans/Eclipse. Estoy usando un procesador de 64 bits con un sistema operativo de 64 bits (Windows 7). Quería ejecutar Netbeans/Eclipse con más de 4 GB de memoria de almacenamiento dinámico (es decir, usando la bandera Xmx), pero me encuentro con cierta confusión. No parece haber una versión de 64 bits de Netbeans, y aunque hay versiones de 64 bits de Eclipse para otros sistemas operativos, no hay una para Windows. Además, no puedo encontrar una versión de 64 bits del último JRE/JDK (he leído sitios que mencionan la existencia de estos, así que no estoy seguro de si Sun los ha eliminado temporalmente).Aplicaciones Java de 64 bits: ¿Se requiere un SO de 64 bits, un JRE de 64 bits y una Aplicación de 64 bits?

Ahora que he explicado mi situación, mis preguntas son las siguientes:

  1. Qué software necesito para correr (aplicación Java al azar) Netbeans/Eclipse/con más de 4 GB de memoria del montón? ¿Tener un sistema operativo de 64 bits es suficiente? ¿También necesito un JRE de 64 bits?
  2. Pensé que el código fuente de Java y el bytecode de Java eran independientes de la arquitectura, ya que en un programa Java compilado con un JDK de 32 bits se puede ejecutar en una máquina diferente con 32 bits o 64 bits JRE. Si esto es cierto, ¿por qué Eclipse tiene una versión de 32 bits y una de 64 bits (me doy cuenta de que no tienen una para Windows, pero tienen una para Linux)? ¿Esto significa que es probable que Eclipse tenga bibliotecas nativas, para las que importaría 32 bits frente a 64 bits?

Gracias de antemano,
red.october

Actualizar 1:
Ok, resulta que hay una versión de 64 bits de Eclipse para Windows, pero su enterrado profundamente por alguna razón (al menos no vi dónde estaba enlazado desde la página principal). Después de buscar un poco, encontré un blog post que decía que puedes obtener Eclipse de 64 bits para Windows en Eclipse Downloads. Ese enlace apunta a una página con enlaces a muchas versiones de versiones diferentes. Acabo de elegir la versión estable más reciente (3.5.1 en el momento de esta publicación). Esta segunda página enumera varias descargas para Eclipse 3.5.1, y para cada descarga, tiene una amplia gama de arquitecturas (32 bits y 64 bits) y sistemas operativos (por ejemplo, Windows, Linux) para elegir. Personalmente, elegí la descarga de Eclipse SDK, que viene con "Plataforma Eclipse, herramientas de desarrollo Java y entorno de desarrollo de complementos, incluida la documentación de origen, del usuario y del programador". No estoy seguro de necesitar la fuente o la documentación, pero creo que siempre puedo eliminarla más adelante.

Respuesta

9

Sí, necesitará una JVM de 64 bits para utilizar toda su memoria. No estoy actualizado con lo que puede obtener para Windows, así que dejaré que alguien más responda eso.

Sin embargo, creo que la razón principal por la que no se puede encontrar un netbeans de 64 bits es que es 100% puro java y arquitectura independiente. Eclipse proporciona un marco de GUI alternativo con un aspecto más nativo (SWT) y lo utiliza para el entorno de desarrollo en sí. Una vez que se vincula a su aplicación java a bibliotecas nativas, necesita distribuir las bibliotecas para la arquitectura correcta, de ahí la dependencia de la arquitectura de la distribución del eclipse (su segundo elemento).

+0

Cool - gracias por aclarar eso. –

+0

¿Esto significa distribuir aplicaciones Java que necesito desarrollar en el eclipse de la arquitectura respectiva? – Chris

+0

@Chris: No, en absoluto. Solo tiene que asegurarse de que los archivos binarios de la plataforma se envíen con su producto y se carguen correctamente. Hay muchas páginas describiendo cómo hacerlo y estoy seguro de que también están en las preguntas frecuentes de SWT (http://www.eclipse.org/swt/faq.php) – Fredrik

2

Puede ejecutar un JDK o JRE de 64 bits en Windows 7 Los estoy ejecutando ahora.

Java SE Development Kit 6u16

Java SE Runtime Environment 6u16

elegir qué sistema operativo en el menú desplegable que tiene una opción de Windows de 32 o 64 bits.

+0

Probablemente debería dividir esta pregunta - Fredrik respondió mis preguntas generales, pero me respondiste cómo podría obtener el JDK6 de 64 bits (así que di ambas respuestas a +1). Resultó que mi problema era que intenté descargar el combo EXE de JDK + Netbeans, y ese viene automáticamente con la versión de 32 bits del JDK. Gracias. –

1

No existe la 'aplicación' java de 64 bits. Las clases compiladas en Java están en bytecode java, punto. Ejecutar los programas en una JVM de 64 bits (que a su vez requiere un sistema operativo de 64 bits) les da acceso a más memoria, pero la diferencia es invisible para el programa ya que todo el acceso a la manipulación de memoria está oculto y todos los tipos de datos son iguales.

Ver también this question

+0

@Jherico: En este caso, siento que tu respuesta es pap semántica, quiere acceder a cantidades de memoria que exceden los límites de una JVM 32b, y para desacreditar tu idea de tal cosa, podría usar Long para cada variable y de hecho sería una aplicación Java 64b. (Inútil, pero es posible.) –

+0

@sudo noob: Creo que Jherico respondió correctamente mi pregunta. Una aplicación Java sin código nativo no tiene una versión de 32 bits o de 64 bits (que era lo que estaba preguntando): la escribe y compila una vez, y cosas como la cantidad de memoria a la que puede acceder depende de la JVM. y plataforma de hardware. No creo que la aplicación 64 en 64 bits signifique que todos los tipos de datos tienen ahora 64 bits de longitud (creo que una char todavía tiene 8 bits de longitud en aplicaciones C de 64 bits). –

Cuestiones relacionadas