fix unreadable comments
use word:LCM to understand easily
use Java standard style for constant values
apply Java standard coding style for member properties (fields)
use constant variable for default page size
reuse a constructor from another one
make a formula simple
optimize condition of loops
make a formula simple (using Math.min part 2)
reduce/optimize memory allocation
replace LCM by floorBy, LCM is wrong word