Большое Количество Ссылок Nothing

Тема в разделе "Lotus - Программирование", создана пользователем Serduko, 23 сен 2014.

  1. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Вопрос больше теоретический, без примера.
    У меня есть объект, в нем второй объект, в этом объекте ссылки на несколько NotesDocument. Задаюсь вопросом, стоит ли инициализировать второй объект, если NotesDocument, которые он должен содержать, еще не созданы. Если инициализировать его, будут некоторые удобства для меня, но с другой стороны память.

    На сколько критично для памяти иметь большое количество ссылок на Nothing?
     
  2. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Serduko
    Как насчет "ленивой инициализации" при первом обращении к объекту?
     
  3. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Как раз выбираю между ней и инициализацией при инициализации первого объекта. При таком раскладе логика перегружается, а я систему хочу сделать максимально гибкой и отказоустойчивой.
     
  4. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Serduko
    Можно замерить размер памяти для выбора:
    Сообщение 4
     
  5. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Спасибо, попробую.
     
  6. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Serduko
    Да, можно посмотреть сколько памяти уходит, для утечек.
    Вот ссылка на пример

    <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">Если вдруг она умрет:</div></div><div class="sp-body"><div class="sp-content">
     
  7. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Спасибо, на одну пустую ссылку уходит примерно 5к (хотя в некоторых случаях вообще было почти 0, неясно). Заметил в Лотусе постоянную утечку памяти, с каждым новым запуском агента. Наверно, сделаю все таки ленивую инициализацию, кто знает, до каких объемов дойдет в будущем.
     
  8. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Serduko
    Чистый LS? java нет?
    Там предупреждают что могут быть разные результаты.
     
  9. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.047
    Симпатии:
    18
    Проходили - фигня всё это, забудьте!

    Из-за наличия у домино своего менеджера памяти ничего вы замереть не сможете - никогда :D

    И Lsi_info я бы не увлекался вообще - это пострашнее RND в некоторых совсем казалось бы нелогичных конструкциях ложит сервер на раз

    Если дествительно хотите заняться "оптимизацией" то постарайтесь обращать внимание не на память а на то, сколько раз вы базу дергаете - потому как бич любой базы это обращения к дисковой, вот тут, уменьшая количество обращений и строя однопроходную логику вы весьма серьезно ускоряете всё, и пофиг что подобный подход сожрёт в 10 раз больше памяти, зато какая скорость!!!
     
  10. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
  11. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
  12. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    с 9-ой версии оно уже д.б. в составе (ну может не такое свежее :D )
     
  13. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    А как с получением сессии в JVM на клиенте, без бубна?
     
  14. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    а в чем нужен бубен?
     
  15. Darkhan

    Darkhan Lotus team
    Lotus team

    Регистрация:
    14 дек 2012
    Сообщения:
    97
    Симпатии:
    4
    Поосторожней с объектами типа
    Если таких объектов будет туева хуча, (например если их складывать в лист) то память утечет у вас гораздо раньше.
    Лотусовые объекты нежелательно хранить в масиивах(списках)
     
  16. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Читал статью, давно (вот она, вроде), по этой теме, лотус запрещает сессию в клиенте, нужны изменения в ini файле 8 клиента, для получения сессии. Сейчас есть способы получить текущую сессию на клиенте?

    Туева хуча - это сколько?
     
  17. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.052
    Симпатии:
    146
    Serduko
    Вот это может быть натолкнет на мысли.
     
  18. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Об этом бубне я и говорил, на пост выше, я выложил ту же ссылку. Но все равно спасибо :D.
     
  19. lmike

    lmike нет, пердело совершенство
    Команда форума Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.082
    Симпатии:
    300
    а причем тут OSGi, коей и поддерживает DOTS?
    вот сравнение с агентом http://lotusnotus.com/lotusnotus_en.nsf/dx...-java-agent.htm
    мне кажется что DOTS и на клиенте поднимается (как и xPages )

    Добавлено: т.е. речь идет не про бридж, а про написание на java полностью
     
  20. Serduko

    Serduko Well-Known Member

    Регистрация:
    11 окт 2011
    Сообщения:
    174
    Симпатии:
    0
    Пока не готов отойти от толстого клиента, слишком много надо менять в уже устоявшейся системе.
     
Загрузка...

Поделиться этой страницей