Réduction de la consommation de la mémoire en Java

J'ai travaillé avec certains des projets où la réalisation de meilleures performances et une réduction de la consommation de mémoire a été l'objectif principal. Mais croyez-moi, il a déjà été difficile de contrôler la consommation de la mémoire en Java.

Ce page wiki, dit le "Programme Java Vitesse"
Java est, dans certains cas, égale à C++ sur les bas-niveau et numérique repères.

Ces statistiques ne montre pas vraiment une grande différence dans le temps de calcul de la Performance de référence.
Cependant, l'utilisation de la mémoire en Java est bien supérieure à C++, car il y a un 8 octets de surcharge pour chaque objet et 12 octets pour chaque tableau en Java (32-bit; deux fois plus dans la version 64 bits de java) comme mentionné ci-dessus lien wiki.

Maintenant, la question est ce que toutes les mesures de gens prendre afin de minimiser l'utilisation de la mémoire en Java?

Veuillez noter que je suis très préoccupé par la mémoire de performance, puisque je ne vois pas de meilleurs moyens que de "l'écriture des programmes de mieux" et "correctement réglage de la mémoire dans le JDK"

  • Vous ne pouvez pas optimiser la mémoire, aussi bien en java que vous pouvez dans le c++. Si la mémoire est la principale contrainte, est-il une raison pour laquelle vous avez besoin de java?
  • Java utilise 4 octets pour l'en-tête d'un objet dans un programme 64 bits qui n'est pas double. Java utilise généralement 32 bits références pour jusqu'à 32 GO dans une JVM 64 bits, tandis que le C/C++ des programmes 64 bits utilisent généralement des pointeurs 64-bit.
  • +Anshu Java philosophie ne se soucie quelle quantité de RAM utilisée, le gros point fort de Java est l'évolutivité, les performances et la normalisation, Si vous voulez quelque chose de la plupart de Java avantages mais léger envisager de prendre un coup d'oeil à GOLANG qui est le milieu entre Java et C++
  • S'il est configuré correctement, JVM peut être redimensionnée à la verticale de l'optimisation de l'utilisation de la mémoire à la charge actuelle. Sélectionnés garbage collector est l'un des principaux fondateurs de briques et ses paramètres peuvent influencer l'ensemble du projet. Utilisation G1 GC et éviter les "agressif tas" approche. Plus de détails sont dans l'article "Réduire Java Utilisation de la Mémoire avec le Droit Garbage Collector" javacodegeeks.com/2017/11/...
InformationsquelleAutor Anshu | 2012-09-24