From: "Adam Heath" <doo...@brainfood.com>
Scott Gray wrote:
Yeah +1 from me, I just wanted to make sure we had some tangible
benefits in mind and I didn't really see the dbcp library problem we had
as being a good reason for the switch since it was easily resolved.

Plus 1.6 hotspot is wicked smarter, and faster.
==
void foo() {
Object[] array = new Object[6];
...
bar(array);
...
return
}

void bar(Object[] array) {
System.err.println(Arrays.toString(array));
}
==

Before java 1.6, array would be allocated on the heap, which requires
cross-thread locking, to ensure consistency.

In java 1.6, after appropriate jitting, it can detect that array never
leaves the any of the method scopes, so actually converts it to
allocate *on the stack*.  This means allocation and the eventual
deallocation is *wicked* fast.

This feature is called escape analysis.


Interesting !

Thanks

Jacques

Reply via email to