powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Профилирование
6 сообщений из 6, страница 1 из 1
Профилирование
    #38269927
Alexey Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Под профайлером видно что в процессе работы создается куча java.awt.Insets и потом они в мусорку собираются.
Подскажите как найти место в коде где создаются эти объекты? Какой инструмент использовать?
...
Рейтинг: 0 / 0
Профилирование
    #38269959
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey KuznetsovПод профайлером видно что в процессе работы создается куча java.awt.Insets и потом они в мусорку собираются.
Почему это проблема? Вообще это дежурный класс в Swing. Отрисока их может плодить постоянно.

Alexey KuznetsovПодскажите как найти место в коде где создаются эти объекты? Какой инструмент использовать?
В jvisualvm не видел такого. Нужно как-то инструментировать конструктор класса и добавить туда логирование.
Каждый раз получать stacktrace может быть накладно. Лучше Reflection.getCallerClass попробовать.
Правда не знаю кто даст инжектить в java.*. Проще самому класс захачить как-то.
...
Рейтинг: 0 / 0
Профилирование
    #38269963
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно тупо breakpoint поставить.
...
Рейтинг: 0 / 0
Профилирование
    #38269977
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подумал немного про breakpoint. Вот описание трюка
http://www.javalobby.org/java/forums/t19825.html
добавляешь condition, который всегда возвращает false. Java там не будет останавливаться.
Но зато она его каждый раз будет вычислять. А там можно вызывать утилиту, которая через getCallerClass будет логировать имена классов, или даже обновлять в Map<Class, Integer>
...
Рейтинг: 0 / 0
Профилирование
    #38270128
Alexey Kuznetsov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowicz,

да я знаю что это рабочий класс для Swing-а, но похоже какие-то из наших рендереров для ячеек в таблице не очень оптимально написаны, вот и хочется найти код которые безобразничает.

За подсказку с кодом спасибо, буду пробовать.
...
Рейтинг: 0 / 0
Профилирование
    #38451089
chabapok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут когда-то давно говорили мол, getCallerClass производительней, в отличие вытягивания стека из исключений.

Внезапно, Reflection.getCallerClass начиная с 7u40 нежелателен, а в 1.8 его не будет совсем, вот такие пироги.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Профилирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]