Стоимость хранения объектов в запросе на JSTL - PullRequest
0 голосов
/ 23 февраля 2011

У нас есть устаревшие приложения, которые вскоре начнут использовать общие страницы JSP. Однако с точки зрения используемых технологий каждая из них использует разные технологии просмотра. Вкратце, они могут использовать jstl на этих страницах.

Я хочу сохранить свою реализацию пакета в запросе, чтобы использовать ее в JSTL следующим образом

  request.setAttribute("bundle", getBundle());

В нашей связке может быть 10000 записей.

Мой вопрос:

Хранение больших объектов в запросе приносит дополнительную стоимость?

Обновление: наш комплект статичен. (На сервер существует только один его экземпляр.) Я имею в виду, что у нас будет только ссылка в объекте запроса.

Может быть, я должен четко изложить свое требование. Общие страницы, которые уже существуют, уже реализованы. И эта реализация использует совсем другую реализацию пакета. Это отличается от java.util.ResourceBundle. Вот почему я не мог использовать теги jstl fmt.

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Все это стоит вам - это стоимость вставки указателя объекта в хэш-карту, которая, хотя и не равна нулю, фактически равна нулю. На самом деле, это примерно до 20-30 байт (в зависимости от того, используете ли вы в основном 32-битную или 64-битную JVM).

3 голосов
/ 23 февраля 2011

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

...