|
Brad, In addition to the JVM, there a boundary (a lot like an activation group) may be set by using a different class loader. You can see objects created by class loaders higher up the tree from a class, but you cannot see objects on different branches. Here is a reference that explains this a lot better than I can: http://jakarta.apache.org/tomcat/tomcat-4.0-doc/class-loader-howto.html David Morris >>> lwloen@us.ibm.com 01/10/02 04:57PM >>> Forget activiation groups and such. Java is platform independent, so it doesn't use such things. If Joe invokes a JVM, his static variable will be different from the JVM that Mary invokes separately. If, on the other hand, Joe and Mary both interact with an application (perhaps, via the web) that ends up being performed in different threads in the same JVM, then they will share the static variables of each class. The key is that it is the JVM that is the main boundary. Each new JVM is a bunch of new static variables. The benefit from connection pooling is, at minimum, reuse of the expense of creating the connection even for a JVM that consists entirely of one Java application and thread. It can be more savings, though. If you want two "jobs" to share the costs and benefits, structure your application so that they end up as Java threads in the same JVM. Just remember that they aren't jobs in that case, but true threads with all the potential sharing that implies. Larry W. Loen - Senior Linux, Java, and iSeries Performance Analyst Dept HP4, Rochester MN
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.