Я думаю, что, возможно, вам нужно определить, что для вас означает «доступ». Если вы говорите о простом старом межпроцессном взаимодействии, то сокеты или JNI - действительно ваш лучший выбор.
Комментарий Гарта об использовании файлов, отображаемых в память, интересен - я много раз использовал MMF и виртуальные файлы для IPC между приложениями C, но мне никогда не приходило в голову, что реализация MMF Java может быть совместима с виртуальной файловой системой собственной ОС. Такие виртуальные файлы обычно требуют нетривиальной настройки, поэтому я бы удивился, если бы это сработало ...
В любом случае, если вы не перекачиваете огромные объемы данных между приложениями, использование сокетов, вероятно, является наиболее универсальным и эффективным способом сделать это. Убедитесь, что вы учитываете порядковый номер между хост-ОС и Java VM: -)