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