I’m thinking about using the java application object to implement a simple cache, to save a few configuration variables, and a couple of xml with often used info…
I’d like to know where is the application data phisically stored (a system file, in memory, db), how can it be configured, and if there’s any kind of limitation, like space, concurrency, etc…
Besides, any other concern regarding scalabitlity (both, in size and in concurrency) would be appreciated…
And if anybody can point me some place to find more info, I’ll be very glad…
thanks a lot
Objects are stored in the heap. Heap spaced can be managed through the VM’s configuration file.
http://www.faqs.org/docs/javap/c5/s2.html
Here are some of the VM configuration parameters
http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp
I once wrote a Cache for xml objects (to call them somehow). A Map with a String key (filename) and a reference to the Object (parsed xml file) sufficed. In addition to that, the cache was a singleton (synchronized). Did the same for caching compiled JasperReports (i got a notable speed bump here, because reports where no longer compiled every single time)