> 1. Java does not trap overflows
This one struck me some day because this is why Math.abs can return a negative value. When passing Integer.MIN_VALUE, the result will be -2147483648.
There is now StrictMath.absExact that throws an exception in that case.