تنها تفاوت این دو روش در سادگی استفاده از آنهاست، البته روش ProcessBuilder ممکن است از بعضی از خطاهای امنیتی که در زمان کد نویسی بوجود می آید جلوگیری کند.
Runtime.getRuntime().exec یک پارامتر String می گیرد که شامل دستور و آرگومان ها بصورت یکجا می باشد:
Runtime.getRuntime().exec("C:\yourprogram.exe -arg1 -arg2");
اما ProcessBuilder یک پارامتر String و یک پارامتر varargs از نوع String می گیرد، که پارامتر اول دستور اجرایی و پارارمترهای بعدی هر کدام یک آرگومان در نظر گرفته می شوند:
ProcessBuilder b = new ProcessBuilder("C:\yourprogram.exe", "-arg1", "-arg2");
اگر آرگومان ها را درون پارامتر اول به ProcessBuilder بدهید خطا می دهد:
ProcessBuilder b = new ProcessBuilder("C:\yourprogram.exe -arg1 -arg2");