Простой клиент чата Java использует больше памяти, когда приходит новое сообщение - PullRequest
1 голос
/ 08 мая 2011

Мы пишем простой чат-сервер / клиент с двумя моими друзьями (все мы новички). Вчера вечером, когда мы запустили наш первый работающий выпуск, и мы поняли, что наш клиент использует больше памяти, когда приходит новое сообщение (я пробовал это с графическим интерфейсом и без него, и в обеих ситуациях он все еще использует больше памяти с новыми сообщениями).

Вы можете проверить наш код на https://github.com/osa1/simple-chat. Запустите сервер, а затем клиент для тестирования.

Я использую XChat для IRC, и после тысяч строк текста он все еще использует тот же объем памяти. Мы пытаемся сделать наше приложение таким. Нам нужны советы о нашем коде и проблеме с памятью.

Спасибо и извините за мой английский.

Ответы [ 3 ]

2 голосов
/ 08 мая 2011

Используйте jvisualvm в Oracle Java 6 JDK, чтобы профилировать память вашего приложения и видеть, куда идет память.

2 голосов
/ 08 мая 2011

Я не проверял ваш код, но вы удаляете старые сообщения чата или сохраняете ссылки на них?

Вы можете использовать профилировщик памяти, чтобы увидеть, действительно ли у вас происходит утечка памяти, но растетпамять может быть естественной, если, в конце концов, вы не получите исключение нехватки памяти.

1 голос
/ 08 мая 2011

Мы сохраняем все сообщения, чтобы показать их в JTextPane клиента (как и любой другой клиент чата)

У вас есть ответ. Потребление памяти растет, потому что вы храните свои сообщения для их отображения. Поэтому, конечно, память будет расти по мере увеличения количества сообщений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...