Способ создания метода родительского класса Java объект возврата дочернего класса

Другие рассматривали профилирование производительности, но в отношении профилирования памяти В настоящее время я оцениваю Scitech .NET Memory Profiler 3.1 и ANTS Memory Profiler 5.1 (текущие версии по состоянию на сентябрь 2009 г.). Я пробовал JetBrains один год или два назад, и он был не так хорош, как ANTS (для профилирования памяти), поэтому я не потрудился на этот раз. Из чтения веб-сайтов кажется, что он не обладает теми же функциями профилирования памяти , что и два других.

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

Вот основные плюсы и минусы каждого из моего опыта:

Общие черты ANTS и Scitech .NET Memory Profiler

  • Real- функция анализа времени
  • Превосходные практические видеоролики на своих веб-сайтах
  • Простота в использовании
  • Разумная производительность (очевидно, медленнее, чем при подключенном профилировщике, но не так много, как вы становитесь разочарованы)
  • Показать случаи протекания объектов
  • В основном они оба выполняют свою работу довольно хорошо

ANTS

  • Фильтры в один клик для поиска общих утечек , в том числе: объекты, поддерживаемые только обработчиками событий, объекты, которые удаляются, но все еще живут, и объекты, которые поддерживаются только ссылкой из удаленного объекта. Вероятно, это убийственная особенность ANTS - из-за этого обнаружение утечек происходит невероятно быстро. По моему опыту, большинство утечек вызвано тем, что обработчики событий не отцепляются, и ANTS просто ведет вас прямо к этим объектам. Высокий.
  • График удержания объекта. Хотя та же информация доступна в Scitech, в ANTS ее гораздо легче интерпретировать.
  • Показывает размер с дочерними элементами в дополнение к размеру самого объекта (но только когда, к сожалению, выбран экземпляр, а не в общем списке классов).
  • Лучшая интеграция с Visual Studio (щелкните правой кнопкой мыши на графике, чтобы перейти к файлу)

Scitech .NET Memory Profiler

  • Показывает стек отслеживать, когда объект был выделен. Это действительно полезно для объектов, которые размещены в разных местах. С помощью ANTS трудно точно определить, где был создан протекший объект.
  • Показывает количество одноразовых предметов, которые не были утилизированы. Хотя это и не указывает на утечку, оно идентифицирует возможности для исправления этой проблемы и повышения производительности вашего приложения в результате более быстрого сбора мусора.
  • Более подробные параметры фильтрации (несколько столбцов могут быть отфильтрованы независимо).
  • Представляет информацию о всех созданных объектах (включая мусор). ANTS показывает только «живую» объектную статистику. Это облегчает анализ и настройку общей производительности приложения (например, определяет, где много ненужных объектов, которые не обязательно протекают).

Вкратце, я думаю, что ANTS помогает вам быстрее находить утечки, в то время как Scitech предоставляет немного больше информации об общей производительности памяти вашего приложения и отдельных объектах, когда вы знаете, на что смотреть (например, трассировка стека при создании). ). Если бы в ANTS была добавлена ​​трассировка стека и отслеживание неразмещенных одноразовых объектов, я бы не увидел необходимости использовать что-либо еще.

31
задан Timofey Gorshkov 27 October 2010 в 11:05
поделиться

1 ответ

При использовании Kotlin можно создать дополнительную функцию

abstract class SuperClass
class SubClass: SuperClass()

fun <T : SuperClass> T.doSomething(): T {
    // do something
    return this
}

val subClass = SubClass().doSomething()
1
ответ дан 27 November 2019 в 21:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: