ScheduledThreadPoolExecutor возможная утечка памяти - PullRequest
0 голосов
/ 27 апреля 2020

У меня приложение работает на Docker. Он начинает использовать около 80 МБ памяти. Через три дня он достигает около 300 МБ. Приложение запускается каждые 30 минут и получает данные из базы данных в формате JSON. Здесь нет потоков или ха sh карт. на VisualVM увеличиваются только живые потоки. В сэмплере памяти Object [], char [] и String увеличиваются в течение некоторого времени, но затем уменьшаются. Я не уверен, с чего начать, чтобы действительно найти проблему. VisualVM постоянно показывает объем памяти около 120-140.

Это моя тема:

final ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1);

    Runnable lastUpdates = new Runnable() {
        @Override
        public void run() {             
            Date date = new Date();
            System.out.println(dateFormat.format(date));                
            dynamoDbCon.getData();
        }
    };

    executor.scheduleAtFixedRate(taskLastUpdates, 0, 30, TimeUnit.SECONDS); 
...