<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1-jre</version>
</dependency>
import com.google.common.collect.EvictingQueue;
import com.google.common.collect.ImmutableList;
import java.util.Queue;
import java.util.concurrent.TimeUnit;
public class LowGCMemoryQueueExample {
public static void main(String[] args) throws InterruptedException {
Queue<Integer> queue = EvictingQueue.create(10);
queue.add(1);
queue.addAll(ImmutableList.of(2, 3, 4, 5));
while (!queue.isEmpty()) {
Integer element = queue.poll();
System.out.println("Processing element: " + element);
}
System.gc();
TimeUnit.SECONDS.sleep(5);
queue.addAll(ImmutableList.of(6, 7, 8, 9, 10));
}
}