powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как и куда утекает память если класть в request не serializable объекты?
17 сообщений из 17, страница 1 из 1
Как и куда утекает память если класть в request не serializable объекты?
    #39097227
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С удивлением узнал, что объекты, которые мы используем на jsp например, надо маркировать как Serializable иначе утекает память.

Я что-то не могу понять где таки эта память утекает. Объясните, плиз механизм.

Ну и если это действительно правда, то почему HttpServletRequest не принимает Serializable, а принимает Object.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097240
golovonometr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerС удивлением узнал, что объекты, которые мы используем на jsp например, надо маркировать как Serializable иначе утекает память.

Я что-то не могу понять где таки эта память утекает. Объясните, плиз механизм.

Ну и если это действительно правда, то почему HttpServletRequest не принимает Serializable, а принимает Object.

YouTube Video
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097337
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerС удивлением узнал, что объекты, которые мы используем на jsp например, надо маркировать как Serializable иначе утекает память.
Это 100% не стандартная фишка, а косяк какого-то контейнера. Где ты об этом узнал?
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097341
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,
На собеседовании. Наверное про томкат речь шла. Я еще с джетти работал, но мало, поэтому томкат. Собеседующий дал понять, что его удивило то, что я не в курсе.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097345
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Вероятно вы друг-друга не поняли. Потому что фраза
"объекты, которые мы используем на jsp например, надо маркировать как Serializable иначе утекает память." выглядит как полный бред. И Tomcat там не при чем.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097430
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Предыстория была такая, что он меня спросил какие бины можно на jsp юзать. Ну я сказал, что java beans(сейчас, осознал,хотя, что в последнем el уже можно вызвать любые методы).
Дальше последовал вопрос что такое java beans. Я сказал, про геттеры, сеттеры, дефолтный конструктор. Он спросил а ещё?

Я вот про Serializable забыл.

Потом я сказал, что ни разу не видел, чтоб кто-то делал классы Serializable и юзал их объекты на jsp.

И дальше мысли из первого поста.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097437
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
questionerПредыстория была такая, что он меня спросил какие бины можно на jsp юзать.
хм, тоже интересно, какие такие "особенные" бины можно юзать на jsp
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097515
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
думаю вы что-то перепутали, ну или собеседование странное. Разговор о Serializable мог идти в контексте сессий, тогда бы это имело смысл.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097567
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39097574
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
http://www-01.ibm.com/support/knowledgecenter/SS7JFU_7.0.0/com.ibm.websphere.base.doc/info/aes/ae/cprs_best_practice.html Implement the java.io.Serializable interface when developing new objects to be stored in the HTTP session.
Serializability of a class is enabled by the class implementing the java.io.Serializable interface. Implementing the java.io.Serializable interface allows the object to properly serialize when using distributed sessions. Classes that do not implement this interface will not have their states serialized or deserialized. Therefore, if a class does not implement the Serializable interface, the JVM cannot persist its state into a database or into another JVM. All subtypes of a serializable class are serializable. An example of this follows:

public class MyObject implements java.io.Serializable {...}
Make sure all instance variable objects that are not marked transient are serializable. You cannot cache a non-serializable object.

In compliance with the Java Servlet specification, the distributed servlet container must create an IllegalArgumentException for objects when the container cannot support the mechanism necessary for migration of the session storing them. An exception is created only when you have selected distributable.

а что в итоге случится? может получиться, что на одной jvm в сессии есть этот объект, а на другой просто нет?

Скажем мы показываем в верхнем правом углу логин и дату регистрации пользователя(объект, содержащий эту информацию попадает в сессию при логине). Информация иногда будет отображаться, а иногда нет. Верно я понимаю?
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098126
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
up
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098152
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerа что в итоге случится? может получиться, что на одной jvm в сессии есть этот объект, а на другой просто нет?

Скачай и прочти спецификацию на сервлеты. Она не большая и доступная для понимания.
Сериализация объектов в сессии нужна для 2х решения 2х проблем
- Репликация сессии в кластре
- Персистентность сессии для того чтобы пережить перезагрузки сервера

questionerСкажем мы показываем в верхнем правом углу логин и дату регистрации пользователя(объект, содержащий эту информацию попадает в сессию при логине). Информация иногда будет отображаться, а иногда нет. Верно я понимаю?
Мля, ну какой ещё правый верхний угол? Что за "иногда"? Ты же программист, а не пенсионерка с ноутбуком. Знаешь что такое сессия или объяснить надо?
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098300
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BlazkowiczСериализация объектов в сессии нужна для решения 2х проблем
- Репликация сессии в кластре
- Персистентность сессии для того чтобы пережить перезагрузки сервера

спасибо)

BlazkowiczquestionerСкажем мы показываем в верхнем правом углу логин и дату регистрации пользователя(объект, содержащий эту информацию попадает в сессию при логине). Информация иногда будет отображаться, а иногда нет. Верно я понимаю?
Мля, ну какой ещё правый верхний угол? Что за "иногда"? Ты же программист, а не пенсионерка с ноутбуком. Знаешь что такое сессия или объяснить надо?


Ну я просто жизненный пример хотел привести) на сайтах часто логинишься и справа сверху показывается мессадж типа. good day, Vasya. Ну и это имя скорее всего хранится в сессии.

под словом иногда я имел ввиду, что когда попадаем на ту jvm в кластере на которой есть этот объект в кластере, то нам покажется мессадж good day, Vasya. Если попадём потом на другую jvm, то там не будет никакого name в сессии
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098305
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerНу и это имя скорее всего хранится в сессии.
Высоконагруженные сисмемы имеют привычку всё пользовательское барахло хранить на клиенте. На сереве только необходимый минимум.

questionerпод словом иногда я имел ввиду, что когда попадаем на ту jvm в кластере на которой есть этот объект в кластере, то нам покажется мессадж good day, Vasya. Если попадём потом на другую jvm, то там не будет никакого name в сессии
Да, но в большинстве случаев балансеры отправляют пользователя на одну и ту же ноду, если она в рабочем состоянии. Это даёт огромный простор для оптимизации. Отправлять пользователя на разные сервера без ясных причин - расточительство.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098323
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerНу я просто жизненный пример хотел привести)
"корзина покупок" при сельфи по магазину будет пример поближе.
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098399
Partisan M
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczДа, но в большинстве случаев балансеры отправляют пользователя на одну и ту же ноду, если она в рабочем состоянии. Это даёт огромный простор для оптимизации. Отправлять пользователя на разные сервера без ясных причин - расточительство.

Слово балансер не существует. Вместо него есть балансировщик нагрузки. Слово нода тоже не сущеествует, но не буду переводить его на русский язык - надо знать и без моей помощи.
Но здесь ещё смешивают виды кластеров - для балансировки нагрузки и для отказоустойчивости. Может быть и для того и другого сразу. Это не полный перечень. Если кластер - для балансировки нагрузки, то чаще всего в нём пользователи распределяются по серверам равномерно, для чего обычно используется метод round robin, то есть кругового перебора серверов. В этом случае пользователь каждый раз может попадать на другой сервер (что является способом проверки того, что балансировка нагрузки работает).
...
Рейтинг: 0 / 0
Как и куда утекает память если класть в request не serializable объекты?
    #39098443
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Partisan MСлово балансер не существует. Вместо него есть балансировщик нагрузки. Слово нода тоже не сущеествует, но не буду переводить его на русский язык - надо знать и без моей помощи.
Да, поняли, уже что граммар наци в тебе негодует. Можешь не повторятся в каждой теме.


Partisan MНо здесь ещё смешивают виды кластеров - для балансировки нагрузки и для отказоустойчивости. Может быть и для того и другого сразу. Это не полный перечень. Если кластер - для балансировки нагрузки, то чаще всего в нём пользователи распределяются по серверам равномерно, для чего обычно используется метод round robin, то есть кругового перебора серверов. В этом случае пользователь каждый раз может попадать на другой сервер (что является способом проверки того, что балансировка нагрузки работает).
Ты кажется темой ошибся. Об этом в другом топике. Ой, такого слова, ведь, тоже не существует.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как и куда утекает память если класть в request не serializable объекты?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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