Каков самый быстрый способ обмена структурами данных между Java и C#? Мне нужно что-то, где я могу буквально отправить объект "car" или объект "foo" и сериализовать и десериализовать его как на сервере, так и на клиенте.





Возможно, вы сможете использовать IKVM, это Java-подобная среда поверх .NET; вы можете использовать сериализацию Java в IKVM и использовать взаимодействие для использования объектов из «обычных» языков .NET.
Похоже, ИКВМ кажется хорошей идеей. Но если это не соответствует вашим потребностям, тем более, что он все еще находится в разработке. Тем не менее, сообщение Ури указывает вам в правильном направлении с использованием xml и передачи сообщений, которые могут быть собраны вместе с любой стороны.
Сможете ли вы использовать веб-службу SOAP на сервере, а клиент будет использовать веб-службу? Структура данных объекта будет описана в WSDL для веб-службы.
WSDL (SOAP) является взаимозаменяемым весьма. Если вам нужно что-то менее болтливое, что-нибудь вроде «буферов протокола» Google, «ICE» (ZeroC) и т. д. Предлагает взаимозаменяемую двоичную сериализацию и генерацию кода.
Для .NET / C# в настоящее время существуют две жизнеспособные реализации буферов протокола: здесь; protosharp по сути неактивен и неполон) - любой вариант подойдет, но ни один из них в настоящее время не имеет полного стека RPC, поэтому вам придется обрабатывать передачу сообщений самостоятельно.
Быстро, как по производительности, или быстро, как в "Я хочу, чтобы это работало как можно скорее?"