Вы можете ограничить память подпроцесса, как любое обычное Java-приложение, например:
java -Xmx16m -XX:MaxPermSize=128m
С другой стороны, я считаю, что права доступа такие же, как у пользователя, запустившего приложение, точно так же, как и любое поведение * nix. Когда вы запускаете новый процесс, вы, вероятно, можете сменить пользователя, когда этот процесс запущен, но зависит от реализации.
У меня нет ссылки на это, так что я могу ошибаться, но я не понимаю, почему это поведение будет отличаться в любом настольном приложении.