Rana Dasgupta wrote:
My knowledge in this area is limited. But my understanding was that web
servers and other similar hosts recycled processes periodically as
standard procedure, thereby tearing down all associated resources.
Yes, but that has nothing to do with what would be happening in the app
server the web server talked to, if one had an architecture where a web
server "fronted" for the app server.
So
classes loaded, but not used for a while went away anyway;
Nope - they aren't loaded in the context of the webserver (when using
httpd).
this level of
resource management was not really urgent. I know that IIS does this, I
am not sure about httpd. I am not sure about other host environments.
But a process fork model (or thread model) of a webserver has nothing to
do with what's going on in the VM.
I'm talking about servlet engines and app servers like Tomcat and
Geronimo which have nothing to do with httpd. Architecturally, they are
separated from the web server (unless you don't use an external
webserver, and just use the httpd connector in tomcat) and are separate,
independent processes.
httpd <------> Tomcat
The java-based app servers are long running processes, running for weeks
or months. We need to do clean class unloading.
geir
On 10/27/06, *Geir Magnusson Jr.* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Rana Dasgupta wrote:
> Aleksey,
> I had a couple of questions.
> You state that DRLVM does not implement the class unloading
optimization,
> and this may create memory pressure on some applications that
load many
> classes. Do we have a real case / example where an application is
stuck for
> insufficient memory because it uses a lot of classes initially
and then
> stops using them, but these are not unloaded? One can imagine a
web browser
> doing something like this. Is a web browser a typical use case
for the
> Harmony JVM?
>
If I understand what you're asking correctly, you'll find this pattern
in servlet engines or J2EE servers, where deployed apps can be dumped
and reloaded repeatedly either during development or during production
deployment, w/o taking the server down.
geir