Salve ragazzi volevo chiedere come faccio a scrivere degli Oggetti generici in un MemoryMappedFile?

Mi spiego meglio usando questo codice scrivo degli interi:

codice:
public synchronized void scrivi(){
		try{
			System.out.println("Apro file");
			RandomAccessFile temp=new RandomAccessFile(fp,"rw");
			temp.setLength(0);
			temp.seek(0);
			System.out.println("Apro il Canale");
			FileChannel fc=temp.getChannel();
			System.out.println("Mappo il file in RAM");
			MappedByteBuffer mbb=fc.map(FileChannel.MapMode.READ_WRITE,0,50*4/*Buffer di 50 interi da 4 byte totale 200 byte*/);
			System.out.println("Apro Buffer Int");
			IntBuffer out=mbb.asIntBuffer();
			System.out.println("Scrivo...");
			for(int i=0;i<50;i++) {
				out.put(i+1);
				}
			fc.close();
		}
		catch(FileNotFoundException e){System.out.println("File non Trovato\n");}
		catch(IOException e){System.out.println("Errore IO\n");}
		}

Adesso come scrivo un oggetto di qualsiasi natura? (Qualcosa di simile alla ObjectOutputStream)

Grazie mille a tutti in Anticipo.