I never tried with objects of this size but i think you can try to wrap your array inside a class implementig java.io.Serializable interface :
class MyWrapper implements java.io.Serializable
{
Object[] myArray;
}
Then , when you need to store on disk your array, you will do it simply using the interface method:
FileOutputStream fouts = new
FileOutputStream("pathtofile");
// Write object with ObjectOutputStream
ObjectOutputStream outobj= new
ObjectOutputStream (fouts);
// Write object out to disk
outobj.writeObject ( myWrapperInstance );
In Order to retrieve
FileInputStream infile = new
FileInputStream("pathtofile");
ObjectInputStream inobj =
new ObjectInputStream (infile);
Object obj = inobj.readObject();
MyWrapper myWrapperInstance = (MyWrapper) obj;