Сколько данных я могу хранить в сеансе Java? - PullRequest
3 голосов
/ 15 ноября 2011

Мы работаем в приложении Tomcat / J2EE.

В этом приложении мы храним много данных в сеансе, и мне интересно, сколько данных мы можем хранить без проблем.

Какое минимальное ограничение? Память о Tomcat? JVM?

Как я могу рассчитать, могу ли я хранить 200 тыс. Строк?

Ответы [ 2 ]

2 голосов
/ 15 ноября 2011

Для # 1 - Вы можете хранить столько данных, сколько размера кучи выделено для JVM. Конечно, tomcat работает внутри JVM, поэтому он также будет использовать часть выделенной памяти.

Для # 2 - это действительно зависит от размера строки - требуется 2 байта на символ юникода. Возьмите средний размер вашей строки, умножьте ее на 200 КБ и убедитесь, что у вас достаточно памяти.

1 голос
/ 15 ноября 2011

Tomcat работает в JVM.Таким образом, если у вас 32-битный JRE, вы можете иметь максимальный размер кучи около 1,7 Гб.Если вы хотите больше, вам следует перейти на 64-битный JRE.

Что касается размещения строк, внутренняя кодировка символов Java - Unicode, поэтому я думаю, что это UTF-8.Чтобы сэкономить место, вы можете сжать эти строки с помощью zip и сохранить их как файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...