db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Daniel John Debrunner <...@apache.org>
Subject Re: [jira] Updated: (DERBY-700) Derby does not prevent dual boot of database from different classloaders on Linux
Date Wed, 30 May 2007 20:20:00 GMT
Kathey Marsden wrote:
> Daniel John Debrunner wrote:
>>
>> Actually string constants are by definition interned, so 
>> synchronized(DERBY_JVM_ID) is the same as 
>> synchronized(DERBY_JVM_ID.intern()) since DERBY_JVM_ID is a reference 
>> to a string constant. Though using intern() wouldn't harm and might 
>> make the code more readable.
>>
> Silly question.  Would an interned string allow synchronization across 
> classloaders?
> If not, how do I synchronize  two threads using different classloaders.
> Kathey

Yes. The intern() provides a reference that will be identical regardless 
of any current class loader because the String class will only be loaded 
once by the jvm. You can google for other folks using the same trick, or 
using other objects that are guaranteed to be loaded once such as 
Integer.class, Integer.TYPE etc.

Dan.

Mime
View raw message