Hi,
strictfp simply means perform strict floating point calculations on the expression. I will try to explain what I understood from the defenitions.
Older jvm (Classic [interpreter]) used original virtual machine specification which calculated all the floating point operations strictly. ie if (a*b)/(c*d) where all or any are floating point numbers, the intermediate results obtained should also be withing the range of Float. ie The above expression will receive the expected result only if a*b<Float.MAX_VALUE and c*d<Float.MAX_VALUE.(Classic Jvm). Rather than truncated at the end, the intermediate results also gets truncated.
But in new Jvm (Hotspot VM), things are a little different. All the floating point operations are performed without intermediate bounds checking; only the final answer is truncated to fit within Float.MAX_VALUE.
By adding strictfp as class/method modifier, we may change the default behaviour(of new VMs) of floating point operations, to that of the old ones (like in Classic JVM interpreters).
This link could help u get more details.
http://www.javaworld.com/javaworld/jw-12-1998/jw-jbe-jvm.html Please let me know, if u could find any corrections or additional information regarding the same.
regards Jacob