Nessuna risposta definitiva ma solo un modo per diagnosticare sul sito cosa sta accadendo esattamente.
Devi essere confermare quale processo sta consumando CPU e quello che sta facendo esattamente, per esempio attraverso il monitoraggio delle chiamate di sistema fatte: i Sysinternals strumenti come Process Explorer e Process Monitor dovrebbe portare a indizi su ciò che può essere sbagliato. Almeno, è possibile confrontare il profilo di esecuzione con contro senza la modalità di compatibilità XP.
Poiché il problema può venire dall'applicazione Java stessa, è necessario eseguire una prova della creazione profili JVM con strumenti come Netbeans Profiler. Forse il codice si basa su alcune vecchie cose specifiche di Windows XP come la struttura delle directory o la variabile d'ambiente che non esistono più o sono cambiate in Windows 7 (ma che hai tenuto/riapplicato sulla tua installazione) ... portando a una gestione degli errori e loop infiniti di tentativi, ad esempio.
Un profiler nativo di Windows può essere un'opzione, ma è troppo difficile da analizzare senza codice sorgente JVM e quando il codice Java è interessato a causa di JIT.
fonte
2012-09-03 06:44:35
Non sto dicendo che so perché, ma hai controllato se fosse una JVM a 32 bit o una JVM a 64 bit? –
Sii grato ai tuoi clienti che hanno trovato una soluzione che funzioni per loro. La tua applicazione Java è a 32 o 64 bit? Le macchine Windows 7 dei tuoi clienti sono a 32 o 64 bit? –
Sì, penso che Windows7 sia a 64 bit, l'applicazione può essere a 32 bit o 64 bit, per essere sinceri, perché non riesco a replicare il problema. Sto faticando a rintracciarlo, ma mi chiedevo se qualcuno potesse capire perché un'applicazione potrebbe funzionare meglio in Compatibilità mode –