Здравствуйте, Аноним, Вы писали:
А>как представвить обьект в в качестве масива байт? Насколько я понял, серриализация сохраняет также мета-данные, поэтому для этой задачи не катит(
А>на си++ это делается так:
А>А>char* pBuffer = (char*)&some_object;
А>
А>как это делается в яве?
99.99% программистов Java всё же будут использовать сериализацию

Кстати, на С++ тоже не всё так просто. Просто получить указатель на объект — это ничего не значит. Это на структуру указатель, при её известной длине, имеет смысл как указатель на массив байт, а вот класс уже так не сохранить, вернее — не восстановить потом, не найти где что лежит, по крайней мере. Да и длина экземпляра класса вещь неопределённая

А возможные ссылки на другие структуры и классы? То есть, проблема требует конкретного решения.
Я в Java обычно использую класс ByteBuffer для укладки в массив байт всех полей нужных мне данных из класса. В ByteBuffer есть методы для записи/чтения всех примитивных типов данных. А как понятно, данные любого класса можно свести к сумме примитивных полей. Получается, при аккуратном подходе, очень быстрая и компактная упаковка. Конечно, она не универсальна. Для каждого нового класса придётся написать/дописать свой метод упаковки/распаковки. Но иногда овчинка стоит выделки. Главное при чтении данных через ByteBuffer знать, какой ByteOrder использовался при запаковке