Die Verringerung der Speicherverbrauch in Java

Arbeitete ich mit einigen Projekten, in denen eine bessere Leistung und die Verringerung der Speicherverbrauch wurde das primäre Ziel. Aber glauben Sie mir, es hat schon hart zu Steuern, ist der Speicherverbrauch in Java.

Diese wiki-Seite, sagt auf "Java Programm Geschwindigkeit"
Java ist in einigen Fällen gleich C++ auf low-level-und numeric-benchmarks.

Diese Statistik nicht wirklich zeigen einen großen Unterschied in der Zeit-Berechnung Performance-benchmark.
Jedoch, der Speicherverbrauch in Java ist ziemlich höher als C++, da gibt es ein 8-byte-overhead für jedes Objekt und 12 byte für jedes array in Java (32-bit; doppelt so viel in der 64-bit-java) wie bereits in obigem wiki-link.

Nun ist die Frage,, was alle Maßnahmen, die Menschen ergreifen, um minimieren Sie den Speicherverbrauch in Java?

Bitte beachten Sie, dass ich bin sehr besorgt über das Gedächtnis als die Leistung, denn ich kann mir nicht vorstellen, dass es eine bessere Weise als "bessere Programme schreiben" und "richtig tuning memory in JDK"

  • Sie können nicht optimieren Sie Speicher-footprint als auch in java wie in c++. Wenn der Speicher ist die wichtigste Einschränkung, gibt es einen Grund, müssen Sie java?
  • Java verwendet 4 bytes für den header eines Objekts in einer 64-bit-Programm, das ist nicht doppelt. Java verwendet in der Regel 32-bit-Referenzen für bis zu 32 GB in einem 64-bit-JVM, während C/C++ - 64-bit-Programme verwenden in der Regel 64-bit-Zeiger.
  • +Anshu Java-Philosophie nicht wirklich interessiert, wie viel RAM verwendet Wird, der big point für Java ist die Skalierbarkeit, performance und Standardisierung, Wenn Sie etwas wollen, mit der die meisten Java Vorteile, aber leicht prüfen, werfen Sie einen Blick auf GOLANG, dass ist die Mitte zwischen Java und C++
  • Wenn richtig konfiguriert, JVM kann vertikal skaliert, die Speichernutzung zu optimieren, um die aktuelle Last. Die ausgewählten garbage collector ist eines der wichtigsten Gründungsdokumente der Ziegel und seine Einstellungen können Einfluss auf das gesamte Projekt. Verwenden Sie G1 GC und vermeiden Sie "aggressiv-heap" - Ansatz. Weitere Einzelheiten sind in dem Artikel "Minimieren Java-Speicherbelegung mit der Rechten Garbage Collector" javacodegeeks.com/2017/11/...
InformationsquelleAutor Anshu | 2012-09-24
Schreibe einen Kommentar