Java-объект приложения ... где он хранится? - PullRequest
0 голосов
/ 07 мая 2009

Я думаю об использовании объекта приложения java для реализации простого кэша, сохранения нескольких переменных конфигурации и пары xml с часто используемой информацией ...

Я хотел бы знать, где физически хранятся данные приложения (системный файл, в памяти, дБ), как их можно настроить и есть ли какие-либо ограничения, такие как пространство, параллелизм и т. Д.

Кроме того, любая другая проблема, касающаяся масштабируемости (как по размеру, так и по параллелизму), будет принята с благодарностью ...

И если кто-нибудь может указать мне какое-нибудь место, чтобы найти больше информации, я буду очень рад ...

Большое спасибо

1 Ответ

3 голосов
/ 07 мая 2009

Объекты хранятся в куче. Управлять пространством кучи можно через файл конфигурации виртуальной машины.

вызов конструктора более сложный чем обычная подпрограмма или вызов функции. Это полезно для понять точные шаги, которые компьютер проходит, чтобы выполнить вызов конструктора:

  1. Сначала компьютер получает кучу неиспользуемой памяти в куче, большой достаточно, чтобы держать объект указанный тип.
  2. Инициализирует переменные экземпляра объекта. Если объявление переменной экземпляра указывает начальное значение, то значение вычисляется и сохраняется в переменная экземпляра. В противном случае используется начальное значение по умолчанию.
  3. Фактические параметры в конструкторе, если таковые имеются, оцениваются, и значения присваиваются формальные параметры конструктора.
  4. Операторы в теле конструктора, если они есть, выполняются.
  5. Ссылка на объект возвращается как значение вызов конструктора.

Конечным результатом этого является то, что вы иметь ссылку на недавно построенный объект. Вы можете использовать это ссылка, чтобы получить в экземпляре переменные в этом объекте или для вызова его методы экземпляра.

http://www.faqs.org/docs/javap/c5/s2.html

Вот некоторые параметры конфигурации виртуальной машины

http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp

Однажды я написал Cache для объектов xml (чтобы как-то их вызывать). Достаточно использовать карту с ключом String (имя файла) и ссылкой на объект (разобранный файл XML). Кроме того, кеш был одноэлементным (синхронизированным). Сделал то же самое для кеширования скомпилированных JasperReports (здесь я получил заметное увеличение скорости, потому что отчеты больше не компилируются каждый раз)

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