Java s'exécute lentement sur mac


J'ai un compilé .jar sur mon Mac que je cours. Non seulement il fonctionne lentement (décalage parfois), mais je suis sûr qu'il fuit la mémoire. C'est un client de jeu donc il a un flux de sortie/flux d'entrée. Comme je le regarde dans Activity Monitor, son utilisation de la mémoire augmente constamment.

Quelqu'un connaît-il peut-être un "nettoyeur de mémoire Java" pour Mac? Je sais qu'ils ont des choses comme ça pour Windows que j'ai utilisé en jouant là-bas.

Existe-t-il également un moyen d'optimiser Java sur le Mac pour qu'il s'exécute plus rapidement? Mon Internet n'est pas à la traîne mais parfois il y a du retard dans le jeu en raison de mon système lui-même, j'en suis sûr.

Author: Daniel Ruf, 2014-03-16

1 answers

Utilisez le JVisualVM et détectez où la mémoire fuit et corrigez votre programme.

Si vous pensez que c'est un problème spécifique à Mac OS X, je dirais non, chaque système d'exploitation agit différemment si vous laissez des fichiers/flux ouverts jusqu'à ce que vous ne puissiez pas en ouvrir de nouveaux. Alors surveillez vos actions IO.

De plus, la version Java que vous utilisez serait une information utile pour de telles questions.

Java utilise Garbage Collection, vous n'avez pas besoin d'avoir "Memory Cleaner thing"

Une autre chose: Peut-être que vous fermez vos flux dans finalize blocks, ne faites pas de telles choses, qui peuvent dépendre du système d'exploitation et des problèmes comme le vôtre pourraient apparaître.

 1
Author: Zarathustra, 2014-03-16 14:40:51