Return-Path: X-Original-To: apmail-tomcat-dev-archive@www.apache.org Delivered-To: apmail-tomcat-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id BDD4EBA8D for ; Wed, 11 Jan 2012 01:14:43 +0000 (UTC) Received: (qmail 63934 invoked by uid 500); 11 Jan 2012 01:14:42 -0000 Delivered-To: apmail-tomcat-dev-archive@tomcat.apache.org Received: (qmail 63824 invoked by uid 500); 11 Jan 2012 01:14:41 -0000 Mailing-List: contact dev-help@tomcat.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "Tomcat Developers List" Delivered-To: mailing list dev@tomcat.apache.org Received: (qmail 63815 invoked by uid 99); 11 Jan 2012 01:14:41 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Jan 2012 01:14:41 +0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (nike.apache.org: local policy) Received: from [76.96.62.16] (HELO qmta01.westchester.pa.mail.comcast.net) (76.96.62.16) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 11 Jan 2012 01:14:31 +0000 Received: from omta23.westchester.pa.mail.comcast.net ([76.96.62.74]) by qmta01.westchester.pa.mail.comcast.net with comcast id L0Et1i0031c6gX8511EAiH; Wed, 11 Jan 2012 01:14:10 +0000 Received: from Christophers-MacBook-Pro.local ([69.143.109.145]) by omta23.westchester.pa.mail.comcast.net with comcast id L1EA1i00q38FjT13j1EAuT; Wed, 11 Jan 2012 01:14:10 +0000 Message-ID: <4F0CE261.1010305@christopherschultz.net> Date: Tue, 10 Jan 2012 20:14:09 -0500 From: Christopher Schultz User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:9.0) Gecko/20111222 Thunderbird/9.0.1 MIME-Version: 1.0 To: Tomcat Developers List Subject: Re: More Caching for WebappClassLoader? References: <4F0C166B.3010806@kippdata.de> <4F0CA7A3.5070000@christopherschultz.net> <4F0CBDC7.4000006@kippdata.de> In-Reply-To: <4F0CBDC7.4000006@kippdata.de> X-Enigmail-Version: 1.3.4 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enigF5D941CE503BB038B5580776" X-Virus-Checked: Checked by ClamAV on apache.org --------------enigF5D941CE503BB038B5580776 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Rainer, On 1/10/12 5:37 PM, Rainer Jung wrote: > It would matter if they take the reedom to return something new if > loadClass() is called for a class that was already loaded - and > something changed for the CL. For example a custom CL could check every= > now and then whether the classes have dynamically changed and then > return the new ones. If we cache the first result of loadClass() in our= > loader higher up the hierarchy, the custom CL lower down will never be > called again for the class and wouldn't be able to update it. I'm not sure why a custom CL would be "lower" in the hierarchy than the WebappClassLoader but then also not have first-crack at loading the classes it had originally loaded. If the CL follows parent-first semantics then this might be a problem, but if the CL follows me-first semantics, then this will not be a problem. > Right, that's what I wanted to say. So at the end it might be a few > thousands of pointers. Yeah, that's not that big of a deal when the alternative is what amounts to CL thrashing :) -chris --------------enigF5D941CE503BB038B5580776 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.17 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk8M4mIACgkQ9CaO5/Lv0PCJjwCfZNHQGiW7+l2b8t67zgOPD6IM wgoAn2wW4QYcdRfWCVsog6WMOH0tk4s7 =Uc+O -----END PGP SIGNATURE----- --------------enigF5D941CE503BB038B5580776--