Изучение Java, так что будьте добры. В идеале мне нужно создать массив байтов, который будет указывать на часть большего массива:
byte[] big = new byte[1000];
// C-style code starts
load(file,big);
byte[100] sub = big + 200;
// C-style code ends
Я знаю, что это невозможно в Java, и есть два подхода, которые приходят на ум и будут включать:
-
Либо копирование части большого числа на итерацию через большой.
-
Или написать собственный класс, который будет ссылаться на большой размер + смещение + и реализовать "подмашину" с помощью методов доступа, используя большие, как фактическую базовую структуру данных.
Задача, которую я пытаюсь решить, - загрузить файл в память, а затем получить доступ только для чтения к записям, хранящимся в файле через класс. Скорость имеет первостепенное значение, поэтому в идеале я бы хотел избежать методов копирования или доступа. И поскольку я изучаю Java, я бы хотел придерживаться этого.
Есть ли у меня другие альтернативы? Пожалуйста, задавайте вопросы, если я недостаточно объяснил задачу.