Keine definitive Antwort, sondern nur eine Möglichkeit, vor Ort zu diagnostizieren, was genau passiert.
Man muss bestätigen, welcher Prozess CPU verbraucht und was es tut genau, beispielsweise durch Systemaufrufe Überwachung getan: Die sysinternals Tools wie Process Explorer und Process Monitor sollten Hinweise darauf führen, was falsch sein kann. Zumindest können Sie das Ausführungsprofil mit dem Modus ohne XP-Kompatibilität vergleichen.
Da das Problem von der Java-Anwendung selbst kommen kann, sollten Sie eine JVM-Profilerstellung mit Tools wie Netbeans Profiler versuchen. Vielleicht beruht der Code auf einigen alten Windows XP-spezifischen Dingen wie der Verzeichnisstruktur oder Umgebungsvariablen, die nicht mehr existieren oder in Windows 7 geändert wurden (aber Sie haben sie bei Ihrer eigenen Installation beibehalten/erneut angewendet) ... was zu einer fehlerhaften Fehlerbehandlung und Endlosschleife führt von Wiederholungen zum Beispiel.
Ein nativer Windows-Profiler kann auch eine Option sein, aber es ist viel zu schwierig, ohne JVM-Quellcode zu analysieren, und wenn Java-Code wegen JIT betroffen ist.
Ich sage nicht, dass ich weiß warum, aber haben Sie überprüft, ob es eine 32-Bit-JVM oder eine 64-Bit-JVM war? –
Seien Sie dankbar, dass Ihre Kunden eine Lösung gefunden haben, die für sie funktioniert. Ist Ihre Java-Anwendung 32 Bit oder 64 Bit? Sind die Windows 7-Maschinen Ihrer Kunden 32 Bit oder 64 Bit? –
Ja, ich denke das Windows7 ist 64bit, die Anwendung kann 32bit oder 64bit sein, um ehrlich zu sein, da ich das Problem selbst nicht replizieren kann. Ich habe Mühe, dies nachzuverfolgen, aber ich habe mich gefragt, ob irgendjemand verstehen könnte, warum eine Anwendung in Compatability besser läuft mode –