Ich benutze Spring Boot bei der Arbeit und DI (Dependency Injection), das ist das Herzstück davon. Das Singleton-Entwurfsmuster wird übernommen, und standardmäßig wird nur eine Instanz erstellt. Selbst wenn ich es im Internet nachgeschlagen habe, gab es einen Artikel, der fehlerhaft zu sein schien, wenn ich ihn so implementierte, dass er einen Zustand mit Federstiefel hatte. Denken Sie darüber nach? ?? ?? Es kann nur eine Instanz erstellt werden. Ist es jedoch in Ordnung, wenn gleichzeitig Anforderungen für eine API gestellt werden? Was ist los ?? ?? Ich dachte. Vielleicht wo ist die Speicherzuordnung? Welcher Zeitraum? Ich dachte, das lag daran, dass ich es nicht verstanden habe, also habe ich es neu organisiert.
Erstens der Speicherbereich ・ Statischer Bereich -Günstiger Bereich -Stapelbereich
Erweitern Sie es als Nächstes in den Speicher (meistens, sodass es wahrscheinlich andere gibt).
Hier ist jeweils eine Tabelle
Wenn Sie also noch einmal darüber nachdenken, bedeutet "Kein Status", dass, wenn Sie ihn so implementieren, dass er eine Instanzvariable enthält, Da es fehlerhaft ist, werden 5, 6 und 7 im Stapelbereich als Anforderungs-Thread-Informationen erweitert, sodass Sie sich keine Sorgen über Fehler machen müssen.
Selbst wenn Sie sich das Einzel-Tonnen-Designmuster noch einmal ansehen, wird es Ihnen in den Sinn kommen. Erstellen Sie nur eine Instanz als globale Variable. Da es sich um eine private Variable handelt, wird sie nicht erneut erstellt. Durch Aufrufen der Methode getInstance () wird die Adresse der im Heap-Bereich erweiterten Instanz zurückgegeben. Wenn Sie jeder Klasse mit der Spring-Boot-Annotation @Bean, @Controller, @Service und @Component hinzufügen, scheint das Verhalten intern so zu sein.
singlton.java
public class Singlton{
private static Singlton singlton = new Singlton();
private Singlton(){}
public static Singlton getInstance(){
return singlton;
}
}
● Wenn Sie es mit NARUTO vergleichen ... Naruto (Hauptteil): Code-Informationen → Ich habe verschiedene Techniken. Naruto (Schattenkörper): Objekt → Die zu erledigende Arbeit ist anders. Wenn Sie den Körper nicht regelmäßig freigeben, geht dem Naruto-Körper das Chakra aus (ein Speicherverlust tritt auf, das Objekt wird regelmäßig gelöscht, wenn die Müllabfuhr erfolgt). Verhalten von Naruto (Shadow Alter Ego): lokale Variablen usw. → Aktionen wie das Werfen eines Rückschwerts oder das Verwenden von Techniken.
Recommended Posts