Итак, я прочитал несколько статей, но по сути, поскольку я хочу быстрый ввод-вывод, я хочу написать двойной массив в файл. Для этого мне нужно преобразовать его в массив байтов. К сожалению, это делает копирование данных.java Небезопасно, как интерпретировать память как другой тип объекта?
Так что я задавался вопросом о suing java Unsafe, возможно ли сделать байтовую переменную, указывающую на адрес массива double [], и просто интерпретировать данные как байты, а не удваивать? Мне не удалось найти нигде до сих пор такой пример, только снова, как использовать память для копирования, чтобы это сделать. Любые советы приветствуются!
Вы можете использовать [ByteBuffer # asDoubleBuffer] (http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html#asDoubleBuffer()). Это позволяет работать с DoubleBuffer, который фактически меняет базовый ByteBuffer. – maba
Эта статья выглядит так, как будто она делает то, что вы хотите. http://java-performance.info/object-assignments-type-conversions-on-the-low-level-in-java/ – resueman
Если вы хотите переносимость (32/64 бит), то я бы пошел с Java NIO. Используйте FileChannel, ByteBuffer (может быть прямым байтовым буфером) и DoubleBuffer. – maba