Execute einen externen Befehl in Java

Gibt es eine Möglichkeit, einen Befehl in Java auszuführen, der nicht unter dem Startaufwand (Langsamkeit) der Verwendung von ProcessBuilder leidet?

Weitere Details: Ich verwende im4java, eine Java-Bibliothek, die ProcessBuilder intern zum Ausführen von imagemagick-Programmen verwendet. Es ist langsam. Ich habe einen kleinen Unit-Test erstellt, der zeigt, dass ProcessBuilder (nicht im4java) das Problem ist. Die Langsamkeit ist der Startaufwand bei der Verwendung von ProcessBuilder. Ich habe Posts im Internet gefunden, die besagen, dass processbuider Overhead hat, also sage nicht nur ich, dass dies der Fall ist.

List<String> commands = new ArrayList<String>();
commands.add("C:\\PROGRA~2\\ImageMagick-6.6.4-Q16\\convert.exe");
commands.add("dog.jpg");
commands.add("output.jpg");
ProcessBuilder processBuilder = new ProcessBuilder(commands);
Process start = processBuilder.start();
start.waitFor();

Antworten auf die Frage(4)

Ihre Antwort auf die Frage