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: ArrayInputStream and performance
Date Tue, 28 Nov 2006 17:11:26 GMT
Knut Anders Hatlen wrote:
> Daniel John Debrunner <djd@apache.org> writes:
>> Knut Anders Hatlen wrote:
>>> They use a pattern of first copying the instance
>>> variables into local variables, then do the work on the local
>>> variables, and finally write back to the instance variables. While I
>>> find that a little confusing because I would expect the run-time
>>> compiler to be able to perform that kind of optimization itself,
>>> that's a different issue from what is discussed in this thread.
>> Can the run-time optimizer/compiler perform such an optimization when
>> the instance variable is not final? I would have thought not.
> Yes, I believe it can. Java's memory model basically allows the
> compiler to assume that the variables are accessed by a single thread
> as long as it doesn't hit a memory barrier (like a volatile variable
> or a synchronized block).

How effective can this be when the accesses to the instance field are 
intermixed with method calls of other objects, especially when those 
methods are interface calls?


View raw message