2009-10-29 16 views
9

Questa domanda riguarda le app Java a 64 bit in generale, anche se l'ho trovata a causa del lavoro con Netbeans/Eclipse. Sto usando un processore a 64 bit con un sistema operativo a 64 bit (Windows 7). Volevo eseguire Netbeans/Eclipse con più di 4 GB di memoria heap (ad esempio, utilizzando il flag Xmx), ma mi trovo in una certa confusione. Non sembra esserci una versione a 64 bit di Netbeans, e mentre ci sono versioni a 64 bit di Eclipse per altri sistemi operativi, non ce n'è una per Windows. Inoltre, non riesco a trovare una versione a 64 bit dell'ultimo JRE/JDK (ho letto siti che menzionano l'esistenza di questi, quindi non sono sicuro che Sun li abbia temporaneamente disattivati).App Java a 64 bit: è richiesto un sistema operativo a 64 bit, JRE a 64 bit e applicazione a 64 bit?

Ora che ho spiegato la mia situazione, le mie domande sono le seguenti:

  1. Quale software ho bisogno per eseguire// (applicazione Java casuale) Netbeans Eclipse con più di 4GB di memoria heap? È sufficiente disporre di un sistema operativo a 64 bit? Ho anche bisogno di un JRE a 64 bit?
  2. Pensavo che il codice sorgente Java e il bytecode Java fossero indipendenti dall'architettura, come in un programma Java compilato con un JDK a 32 bit di 64 bit può essere eseguito su una macchina diversa con 32 bit o 64 bit JRE. Se questo è vero, perché Eclipse ha una versione a 32 bit e una versione a 64 bit (mi rendo conto che non ne hanno uno per Windows, ma ne hanno uno per Linux)? Ciò significa che Eclipse probabilmente ha librerie native, per le quali 32 o 64 bit sarebbero importanti?

Grazie in anticipo,
red.october

Aggiornamento 1:
Ok, si scopre c'è una versione a 64 bit di Eclipse per Windows, ma la sua sepolto per qualche motivo (almeno non ho visto dove era collegato dalla pagina principale). Dopo aver cercato in giro per un po ', ho trovato un blog post che ha dichiarato che è possibile ottenere Eclipse a 64 bit per Windows a Eclipse Downloads. Quel collegamento punta a una pagina con collegamenti a diverse versioni di rilascio - Ho appena scelto la versione stabile più recente (3.5.1 al momento di questo post). Questa seconda pagina elenca vari download per Eclipse 3.5.1 e, per ogni download, si dispone di una vasta gamma di architetture (a 32 e 64 bit) e di sistemi operativi (ad esempio, Windows, Linux) tra cui scegliere. Personalmente ho scelto il download dell'SDK di Eclipse, che include "Eclipse Platform, strumenti di sviluppo Java e ambiente di sviluppo plug-in, inclusa la documentazione di origine e di programmazione per utente e programmatore". Non sono sicuro di aver bisogno della fonte o della documentazione, ma immagino di poterlo rimuovere sempre più tardi.

risposta

9

Sì, è necessario disporre di una JVM a 64 bit per utilizzare tutta la memoria. Non sono aggiornato con ciò che è possibile ottenere per Windows, quindi consentirò a qualcun altro di rispondere.

Tuttavia, penso che il motivo principale per cui non è possibile trovare un netbeans a 64 bit è che è al 100% java e indipendente dall'architettura. Eclipse fornisce un framework GUI alternativo con un aspetto e un feel nativo (SWT) e lo utilizza per l'ambiente di sviluppo stesso. Una volta collegato all'app java alle librerie native, è necessario distribuire le librerie per l'architettura corretta, da cui dipende la dipendenza dell'architettura dalla distribuzione di eclissi (il secondo elemento).

+0

Cool - grazie per chiarire che fino. –

+0

Significa distribuire le applicazioni java che devo sviluppare nell'eclissi della rispettiva architettura? – Chris

+0

@Chris: No, per niente. Devi solo assicurarti che i binari della piattaforma vengano spediti con il tuo prodotto e caricati correttamente. Ci sono un sacco di pagine che descrivono come farlo e sono sicuro che sia anche nelle FAQ SWT (http://www.eclipse.org/swt/faq.php) – Fredrik

2

È possibile eseguire un JDK o JRE a 64 bit in Windows 7 Ora li sto eseguendo.

Java SE Development Kit 6u16

Java SE Runtime Environment 6u16

scegliere quale sistema operativo dal menu a tendina si dispone di una scelta di Windows a 32 o 64 bit.

+0

Probabilmente dovrei dividere questa domanda - Fredrik ha risposto alle mie domande generali, ma tu hai risposto a come avrei potuto ottenere il JDK6 a 64 bit (così ho dato entrambe le risposte un +1). Il mio problema è stato che ho provato a scaricare l'EXE combo JDK + Netbeans e quello viene automaticamente fornito con la versione a 32 bit del JDK. Grazie. –

1

Non esiste una "applicazione" java a 64 bit. Le classi compilate in Java sono in bytecode java, punto. L'esecuzione dei programmi su una JVM a 64 bit (che a sua volta richiede un SO a 64 bit) dà loro accesso a più memoria, ma la differenza è invisibile al programma poiché tutti gli accessi alla manipolazione della memoria sono nascosti e tutti i tipi di dati sono gli stessi.

Vedi anche this question

+0

@Jherico: In questo caso sento che la tua risposta è semantica, vuole accedere a quantità di memoria che superano i limiti di una JVM a 32 bit, e per sfatare la tua idea di niente di simile, potrebbe usare Long per ogni variabile e sarebbe davvero un'app per Java 64b. (Inutile, ma possibile.) –

+0

@sudo noob: Penso che Jherico abbia risposto correttamente alla mia domanda. Un'applicazione Java senza codice nativo non ha una versione a 32 o 64 bit (che era quello che stavo chiedendo) - la scrivi e la compila una volta, e cose come la quantità di memoria a cui può accedere dipendono dalla JVM e piattaforma hardware. Non credo che il 64 in un'applicazione a 64 bit significhi che tutti i tipi di dati hanno ora una lunghezza di 64 bit (penso che un char sia ancora lungo 8 bit nelle applicazioni C a 64 bit). –

Problemi correlati