Если вы передаете данные между двумя потоками одной и той же программы, вы можете просто передать ссылку на область через любой канал из пакета java.concurrent.
Если вы работаете с двумя отдельными программами, то вы должны сериализовать данные (если вы действительно хотите, чтобы передавались сами данные).
Если вам нужен только доступ к данным, вы можете опубликовать сервис, который выполняет желаемое преобразование через RMI.