The actual heap size may differ from what the user specified in the command line due to alignment and ergonomics adjustments. By default, the heap is 2MB aligned (see collectorPolicy.cpp).
1044381696 is the final heap size after 2MB-alignment of 1043086336.