Tout d’abord, cela ne s’appelle pas une fuite de mémoire. Le nom est un peu vague
Si vous n'avez pas d'exigences élevées en matière de fiabilité, vous pouvez envisager d'en jeter au hasard
Matériel d'extension
Si vous avez des exigences de fiabilité. Pour faire simple, il est d’abord jeté sur le disque dur ou la base de données. Bref, il ne peut pas être stocké en mémoire. C'est un peu comme l'instance Socket en Java. Il existe un InputStream et un OutputStream qui maintiennent respectivement une file d'attente SendQ et une file d'attente RecvQ, mais elle est en mémoire et nous la mettons simplement sur le disque dur.
Tout d’abord, cela ne s’appelle pas une fuite de mémoire. Le nom est un peu vague
Si vous n'avez pas d'exigences élevées en matière de fiabilité, vous pouvez envisager d'en jeter au hasard
Matériel d'extension
Si vous avez des exigences de fiabilité. Pour faire simple, il est d’abord jeté sur le disque dur ou la base de données. Bref, il ne peut pas être stocké en mémoire. C'est un peu comme l'instance Socket en Java. Il existe un InputStream et un OutputStream qui maintiennent respectivement une file d'attente SendQ et une file d'attente RecvQ, mais elle est en mémoire et nous la mettons simplement sur le disque dur.
Il n'y a pas un
RejectedExecutionHandler
?Même si la mémoire fuit, elle ne plante toujours pas. RejectedExecutionHandler gère les tâches rejetées, pourquoi ne pas utiliser Redis, haha