J'utilise spring boot au travail, et en DI (Dependency Injection), qui en est le cœur, Le modèle de conception singleton est adopté et une seule instance est créée par défaut. Même si je l'ai recherché sur le net, il y avait un article qui semblait bogué si je l'implémentais pour qu'il ait un état avec spring boot. En y réfléchissant, ça? ?? ?? Une seule instance peut être créée, mais est-ce acceptable si des demandes simultanées sont faites pour une API? Que se passe-t-il ?? ?? J'ai pensé. Peut-être où est l'allocation de mémoire? Quelle période? Je pensais que c'était parce que je ne le comprenais pas, alors je l'ai réorganisé.
Tout d'abord, la zone mémoire ・ Zone statique -Zone de tas -Zone de pile
Ensuite, étendez-le à la mémoire (principalement, il y en aura probablement d'autres).
Voici un tableau de chacun
Donc, quand j'y repense, "ne pas avoir d'état" signifie que si vous l'implémentez de manière à ce qu'il ait une variable d'instance, Puisqu'il s'agit d'un buggy, 5, 6 et 7 sont développés dans la zone de pile en tant qu'informations de thread de demande, donc il n'y a pas de souci pour les bogues.
Même si vous regardez à nouveau le modèle de conception d'une seule tonne, cela vous viendra à l'esprit. Créez une seule instance en tant que variable globale, et comme il s'agit d'une variable privée, elle ne sera pas créée à nouveau. En appelant la méthode getInstance (), l'adresse de l'instance développée dans la zone du tas est renvoyée. Si vous ajoutez @Bean, @Controller, @Service et @Component à chaque classe avec l'annotation Spring Boot, il semble que le comportement soit comme ça en interne.
singlton.java
public class Singlton{
private static Singlton singlton = new Singlton();
private Singlton(){}
public static Singlton getInstance(){
return singlton;
}
}
● Si vous le comparez avec NARUTO ... Naruto (corps principal): informations sur le code → J'ai différentes techniques. Naruto (corps de l'ombre): Objet → Le travail à faire est différent. Si vous ne relâchez pas le corps régulièrement, le corps Naruto sera à court de chakra (une fuite de mémoire se produira, l'objet sera effacé régulièrement en cas de ramassage des ordures). Comportement de Naruto (alter ego de l'ombre): variables locales, etc. → Actions comme lancer une épée en arrière ou utiliser des techniques.
Recommended Posts