Sie können die Klasse sun.misc.Unsafe verwenden, mit der Sie direkt mit dem JVM-Speicher arbeiten können.
Der Konstruktor ist privat, also können Sie eine Unsichere weise wie folgt erhalten:
public static Unsafe getUnsafe() {
try {
Field f = Unsafe.class.getDeclaredField("theUnsafe");
f.setAccessible(true);
return (Unsafe)f.get(null);
} catch (Exception e) { /* ... */ }
}
Sie können mit Ihrem String-Bytes dann erhalten:
byte[] value = []<your_string>.getBytes()
long size = value.length
Sie können nun die Speichergröße zuweisen und die schreiben String im RAM:
long address = getUnsafe().allocateMemory(size);
getUnsafe().copyMemory(
<your_string>, // source object
0, // source offset is zero - copy an entire object
null, // destination is specified by absolute address, so destination object is null
address, // destination address
size
);
// the string was copied to off-heap
Quelle: https://highlyscalable.wordpress.com/2012/02/02/direct-memory-access-in-java/
Mögliche Duplikate von [Java: popen() - ähnliche Funktion?] (Http://stackoverflow.com/questions/2887658/java-popen-like-function) – ceving