ОК, я был почти уверен, что у вас JTable .... Это, вероятно, ОГРОМНАЯ часть проблемы.
Но это можно решить, я не знаю, как скопировать ссылку на предыдущий ответ, который я сделал, но в основном для финансовых данных и JTable, вы хотите прочитать следующее ...
Специально для этой цели у Sun есть учебник под названием «Рождественская елка», в котором специально рассматриваются «часто обновляемые данные, например финансовые», проблемы с медлительностью Swing / JTable.
Вот, пожалуйста, «Как создать часто обновляемый JTable, который хорошо работает»:
http://java.sun.com/products/jfc/tsc/articles/ChristmasTree/
Одной из вещей, которые мне показались поразительными, было постоянное отображение используемой памяти: вы можете захотеть это сделать.
Вы будете поражены тем, сколько ненужного дерьма генерируется стандартным JTable, замедляя все и делая, конечно, запуск GC чаще, чем следует: создание ненужных объектов, ненужное графическое перерисовывание и т. Д. для непригодного для использования приложения, даже на очень быстрых установках.
Итак, начните реализовывать все трюки, приведенные в ссылке, которую я вам дал, и вы увидите, что все будет работать намного лучше. У меня сейчас очень сложный и постоянно обновляемый JTable, и теперь все в порядке: *
По сути, кроме простейшего случая и небольших объемов данных, реализация JTable по умолчанию действительно ужасно плоха.
Как только вы начнете работать с «данными реального мира» (например, с финансовыми данными;), вам нужно выполнить описанные там шаги, если вы хотите, чтобы ваш JTable работал хорошо.
Я не говорю, что это ваша единственная причина замедления, но я был там, и реализация большинства подсказок, намекаемых Sun в этой статье, очень помогла. На самом деле я перешел от непригодного приложения к очень приятному.