Я думаю, что просто передача аргументов командной строки обычно не называется межпроцессным взаимодействием, хотя это очень слабая форма.
Обычно вы хотели бы, чтобы хотя бы часть данных передавалась во время работы программ, и обычно в обоих направлениях. В Java это можно сделать, читая стандартные потоки ввода / вывода, используя Sockets (или что-нибудь на этом основе, например RMI), или используя общий файл (Попробуйте отобразить файл в память как ByteBuffer из оба процесса - хотя кажется, что это зависит от системы, видят ли изменения другие процессы). Или используя системно-зависимые методы для JNI.