Y'a toujours moyen de faire quelque chose avec JNI, mais question performances je doute un peu ...
Surtout parce que tu ne pourras accéder aux données de ton SHM que via une "copie" locale à chaque JVM (on ne peut pas avoir un "pointeur" sur une zone "native" ).
C'est à voir selon ton besoin réel, mais les solutions socket ou autres passeront aussi par des copies, donc ça peut être jouable.
Au cas où : java.sun.com/docs/books/tutorial/native1.1/