powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / HTTPSession и объекты
25 сообщений из 28, страница 1 из 2
HTTPSession и объекты
    #39389492
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сколько памяти выделяет java на HTTPSession под каждого пользователя. И каким образом она сохраняет объекты (сохраняет указатель на объект в куче или как то иначе)?
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389500
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceСколько памяти выделяет java на HTTPSession под каждого пользователя.
Нисколько не "выделяет". Сколько туда разработчик объектов "напхает", столько они в памяти и займут. Ну, конечно, плюс данные от контейнера.

apprentice-noviceИ каким образом она сохраняет объекты (сохраняет указатель на объект в куче или как то иначе)?
Что такое "сохраняет объекты". Куда сохраняет? В памяти клиент трекается через jsessionid. Контейнер хранит ассоциативный массив aka Map с jsessionid в качестве ключа.
Все объекты в памяти JVM и так хранятся в куче.
На диск объекты дампятся через стандартный механизм сериализации.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389507
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, Я имел в виду - не происходит ли дублирование объектов.
Код: java
1.
2.
List <GoodList> goodLists=new ArrayList<>();
session.setAttribute("goodLists",goodLists);
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389514
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceBlazkowicz, Я имел в виду - не происходит ли дублирование объектов.

Прямо в лоб, так ответ - нет.
Но есть ньюансы.
До тех пор пока сессия жива - она будет держать ссылки на объекты в своем экземпляре списка.
И если они где-то стали не актуальными и в другой сессии будут новые товары, то старая сессия будет держать старые копии.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389527
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей Арсеньев,

Помимо этого жирные серверные сессии трудно масштабировать. Плюс это дополнительное время при перезапуске сервера и редеплое. Лучше состояние унести на клиента целиком и полностью.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389530
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насколько я понял по завершению сессия удаляет свои объекты. А в каких случаях она их серриализует?
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389541
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz, Я бы с удовольствием, но у меня в сессии хранятся списки товаров с закрытыми полями типа приходной цены. На клиенты их отдавать не хорошо. Хотя если есть другой вариант реализации подскажите.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389550
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceНасколько я понял по завершению сессия удаляет свои объекты. А в каких случаях она их серриализует?
Сессия ничего не удаляет. Она не самостоятельна.
Сериализация происходит, обычно, во время штатной остановки JEE модуля. А так же при репликации сессий в кластере.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389552
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceBlazkowicz, Я бы с удовольствием, но у меня в сессии хранятся списки товаров с закрытыми полями типа приходной цены. На клиенты их отдавать не хорошо. Хотя если есть другой вариант реализации подскажите.
А эти данные и к пользователю отношения не имеют. Если вам дорого читать их из БД, то используйте кеширование. Но нужно понимать, что в БД данные более актуальны.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389563
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceBlazkowicz, Я бы с удовольствием, но у меня в сессии хранятся списки товаров с закрытыми полями типа приходной цены. На клиенты их отдавать не хорошо. Хотя если есть другой вариант реализации подскажите.
сказал бы просто - корзина.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389630
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, Говорю просто корзина. Как реализовать
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389633
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-novicePetro123, Говорю просто корзина. Как реализовать
не думать много про кучи)).
Сохраняй и всё.
))
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389639
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123, Ой что то я тупанул это не корзина это педжинация
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39389689
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-novicePetro123, Ой что то я тупанул это не корзина это педжинация
)))
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390024
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczПомимо этого жирные серверные сессии трудно масштабировать. Плюс это дополнительное время при перезапуске сервера и редеплое. Лучше состояние унести на клиента целиком и полностью.
А уж как быстро жирные сессии реплицируются по узлам кластера. :)
Но иногда и клиента можно перенагрузить. Особенно если данные нужны для долговременных расчетов.
Причем вставать на путь Ваадина, на каждый чих кучу оберток по обе стороны сетевого интерфейса и все хранятся перманентно - тоже не вариант.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390025
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-novice Хотя если есть другой вариант реализации подскажите.
Читать из базы с кешем. Вряд ли у Вас приходная цена сильно меняется от сессии к сессии. Нефиг переменные уровня приложения хранить в каждой сессии.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390055
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев, МММ как бы это сказать есть проблема с самой базой. В плане проэктирования. В остатках товара в качестве ид используется дикая смесь (ИД товара, ИД точки, ИД сери, цена приход, цена расход) – такое безобразие читать каждый раз мне кажется не очень быстрым вариантом. Хотя может я и ошибаюсь. На текущий момент для реализации педжинации я вычитываю из базы количество строк на страницу и сохраняю строки в список объектов, а строку выбранную клиентом определяю по номеру строки который присылает клиент. Таким образом у клиента присутствуют только номера строк. Контроллеру я сделал @SessionScope
Можно ли будит реализовать такое через кеш, без @SessionScope
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390059
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-novice На текущий момент для реализации педжинации я
И часто ходят на вторую страницу?
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390060
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceВ остатках товара в качестве ид используется дикая смесь (ИД товара, ИД точки, ИД сери, цена приход, цена расход) – такое безобразие читать каждый раз мне кажется не очень быстрым вариантом.
Ребкая БД в наше время проседает от составного ключа.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390064
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньевapprentice-novice На текущий момент для реализации педжинации я
И часто ходят на вторую страницу?
Пока нет информации. Но хочется по максимуму предусмотреть.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390076
Сергей Арсеньев
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceПока нет информации. Но хочется по максимуму предусмотреть.
Предварительная оптимизация не лучшая вещь на свете.
Ускорять пейджинг, которым будут пользоваться в 1 проценте случаев замедляя работу приложения на 10% (цифры взяты условно) не лучшее занятие.
Сессия может оказаться долгоживущим объектом и Ваш кеш постраничной загрузки перекочует в область долгоиграющих объектов. Что не очень комильфо.
Одно дело если этим будут пользоваться постоянно. Другое дело если в 99% случаев посмотрев на первую страницу человек уйдет по ссылке или добавит фильтр и сменит порядок сортировки или еще чего.
Настолько ли долго читаются данные из БД, чтоб об этом стоило думать заранее?
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390078
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
apprentice-noviceНо хочется по максимуму предусмотреть.
Во-первых - превентивная оптимизация.
Во-вторых - никому не нужно листать дальше первой страницы. Нужна хорошая фильтрация чтобы по нужным параметрам находить записи.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390104
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сергей Арсеньев,
Возможно ВЫ правы. Всех благодарю за участие в обсуждении.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390159
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сергей АрсеньевНастолько ли долго читаются данные из БД, чтоб об этом стоило думать заранее?
чтение из базы с применением фильтов (при правильной расстановки индексов в базе и правильном построении самой базы) практически мнгновенно.
...
Рейтинг: 0 / 0
HTTPSession и объекты
    #39390194
apprentice-novice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадяСергей АрсеньевНастолько ли долго читаются данные из БД, чтоб об этом стоило думать заранее?
чтение из базы с применением фильтов (при правильной расстановки индексов в базе и правильном построении самой базы) практически мнгновенно.

Из описанного выше сложного ключа представьте индексы. Да и как то о размерах никто ничего не упомянул и о соединениях. Хотя та же табличка имеет 450 000 строк + добавляем соединения с товарами и точками. Хотя да при одном пользователе даже это работает терпимо.
...
Рейтинг: 0 / 0
25 сообщений из 28, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / HTTPSession и объекты
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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