Как отмечают другие, это обычно возможно только при наличии программы начальной загрузки (Java или другой язык), которая вызывает основную JVM с правильными параметрами.
Тем не менее, вы уверены, что это необходимо? Вы упоминаете "максимальный размер кучи". Если вы ссылаетесь на параметр -Xmx: это просто предел, который виртуальная машина никогда не может превышать. Это не означает, что виртуальная машина будет действительно использовать так много, она будет делать с меньшими затратами, если сможет.
Таким образом, вы всегда можете установить -Xmx на максимум, который может обработать система, и позволить JVM решить, сколько ей действительно нужно. Как вы думаете, почему вам нужно установить его динамически?