Regarding that J2ME for loop - first, I believe it would be faster to do a:
1
| for(int i = array.length - 1; i >= 0; i--) array[i] = somevalue; |
Thats what I have read on Sony ericsson slides. Another interesting thing I read was that due to the way exceptions are being handled on a J2ME platform, this should be a *bit* faster too:
1 2 3 4 5 6 7 8
| try {
int i = 0; while(true) {
array[i++] = somevalue; } } catch(Exception ArrayOutOfBoundsException e) { } |
I may be wrong, but I may be right

And again, this (aspecially the last one) applies to J2ME, the first one to J2SE but is more ugly than effective.