Thank you for your review and comments!
(1) I agree with your thinking for the Valid Flag, my spec says ( 2 byte flag. 00 implies valid record, 0x8000 implies deleted record ). However, I will hardcode this value for the meantime
(2) On the RandomAccessFile, I agree again, I am a fan also, however, Could the length of time positioning the filepointer while reading/writing have an impact on concurrency/performance. Surely, it is better to get the data quickley out into a cache and then play with it from there. Agree/disagree?
Thanks again for your review!
Any other comments from anyone else please?