Wie funktioniert das Speicherprofil in Java?

Ich bin immer noch lernen, die Seile von Java also sorry, wenn es eine offensichtliche Antwort auf diese Frage. Ich habe ein Programm, das unter eine Tonne von Speicher, und ich will einen Weg zur Reduzierung seiner Verwendung, aber nach der Lektüre SO viele Fragen, die ich habe die Idee, dass ich brauche, um zu beweisen, wo das problem ist, bevor ich anfange zu optimieren.

So, hier ist was ich getan habe, ich habe einen break-Punkt an den Anfang von meinem Programm und es lief, dann habe ich angefangen visualVM und hatte es Profil den Speicher(ich habe auch die gleiche Sache in netbeans einfach, die Ergebnisse zu vergleichen, und Sie sind die gleichen). Mein problem ist, ich weiß nicht, wie Sie zu Lesen, ich habe die höchste Gegend nur sagen: char[] und ich sehe keinen code oder alles(was Sinn macht, weil visualvm ist die Verbindung zu der jvm und kann nicht sehen, meine Quelle, aber netbeans auch nicht zeigen Sie mir die Quelle, wie es funktioniert, wenn dabei die cpu-profiling).

Im Grunde, was ich wissen möchte ist, welche variable(und hoffentlich mehr details wie in die Methode) der gesamte Speicher genutzt wird, so kann ich den Fokus auf die Arbeit dort. Gibt es eine einfache Möglichkeit, dies zu tun? Ich Moment arbeite ich mit eclipse und java zu entwickeln(und installiert visualVM-und netbeans-speziell für profiling, bin aber bereit zu installieren irgendetwas anderes, dass Sie das Gefühl bekommt, diesen job zu erledigen).

EDIT: im Idealfall, ich bin auf der Suche nach etwas, dass alle meine Objekte und Sortieren Sie diese nach Größe(so kann ich sehen, welcher Beschlag-Speicher). Derzeit gibt es Allgemeine Informationen wie string[] oder ein int[] aber ich möchte wissen, welches Objekt seiner beziehe, so kann ich immer auf seine Größe weiter optimiert.

InformationsquelleAutor der Frage Error_404 | 2012-04-11

Schreibe einen Kommentar