Why if `gb > 2`, and same for `kb > 2` etc?
I'd have thought 1.5GB would be the normal way of writing it (similar to 1.5GHz etc).

For `java()` for use in `-Xmx`, I think it has to be a whole number so we should leave it in a whole number where the rounding error would be significant.

So maybe the `gb > x` needs to be configurable as well.

Thoughts?