Ich habe einige HotSpot-Optimierung in Java gemacht. Allerdings mache ich mir jetzt Sorgen über den Platz in Bezug auf Ladeklassen (dh brauche nur eine Methode in einer Klasse, will keine anderen laden). Wie würde ich das machen?In Bezug auf HotSpot-Optimierung in Java
Antwort
Das Laden einer Klasse ist ein Alles-oder-Nichts-Satz, soweit ich weiß. Sie können nicht nach der Methode wählen.
Welches Problem versuchen Sie hier wirklich zu lösen? Wenn Sie Probleme mit dem Speicher haben, sollte dies nicht Ihr erster Gedanke sein.
Welche Art von HotSpot-Optimierung haben Sie durchgeführt? Überschreiben Sie den Bytecode beim Definieren von Klassen?
Java ermöglicht zwei Ladeebenen: ungelöst und aufgelöst. Letzteres bedeutet "Laden/Verknüpfen in beliebigen Klassen, die von dieser Klasse referenziert werden", die alle Klassen enthalten, auf die von einer Feld- oder Methodensignatur verwiesen wird, und alle Klassen, die vom statischen Initialisierer benötigt werden. Es gibt keine Möglichkeit, einen Teil einer Klasse zu laden. Wenn Sie nur eine Methode in einer bestimmten Klasse benötigen, werfen Sie diese Methode in eine andere Klasse.