|
|
|
Профилирование
|
|||
|---|---|---|---|
|
#18+
Под профайлером видно что в процессе работы создается куча java.awt.Insets и потом они в мусорку собираются. Подскажите как найти место в коде где создаются эти объекты? Какой инструмент использовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:14:08 |
|
||
|
Профилирование
|
|||
|---|---|---|---|
|
#18+
Alexey KuznetsovПод профайлером видно что в процессе работы создается куча java.awt.Insets и потом они в мусорку собираются. Почему это проблема? Вообще это дежурный класс в Swing. Отрисока их может плодить постоянно. Alexey KuznetsovПодскажите как найти место в коде где создаются эти объекты? Какой инструмент использовать? В jvisualvm не видел такого. Нужно как-то инструментировать конструктор класса и добавить туда логирование. Каждый раз получать stacktrace может быть накладно. Лучше Reflection.getCallerClass попробовать. Правда не знаю кто даст инжектить в java.*. Проще самому класс захачить как-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:25:49 |
|
||
|
Профилирование
|
|||
|---|---|---|---|
|
#18+
Можно тупо breakpoint поставить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:27:32 |
|
||
|
Профилирование
|
|||
|---|---|---|---|
|
#18+
Подумал немного про breakpoint. Вот описание трюка http://www.javalobby.org/java/forums/t19825.html добавляешь condition, который всегда возвращает false. Java там не будет останавливаться. Но зато она его каждый раз будет вычислять. А там можно вызывать утилиту, которая через getCallerClass будет логировать имена классов, или даже обновлять в Map<Class, Integer> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 13:30:51 |
|
||
|
Профилирование
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да я знаю что это рабочий класс для Swing-а, но похоже какие-то из наших рендереров для ячеек в таблице не очень оптимально написаны, вот и хочется найти код которые безобразничает. За подсказку с кодом спасибо, буду пробовать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2013, 14:34:15 |
|
||
|
Профилирование
|
|||
|---|---|---|---|
|
#18+
Тут когда-то давно говорили мол, getCallerClass производительней, в отличие вытягивания стека из исключений. Внезапно, Reflection.getCallerClass начиная с 7u40 нежелателен, а в 1.8 его не будет совсем, вот такие пироги. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.11.2013, 23:27:09 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=38269927&tid=2128283]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
454ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
| others: | 223ms |
| total: | 771ms |

| 0 / 0 |
