Java has http://openjdk.java.net/projects/panama/ for dealing with native libraries and native memory and http://openjdk.java.net/projects/valhalla for flattening objects’ representation (i.e. reducing pointer chasing). Part of Project Panama that deals with low-level memory access is already incubating as part of http://openjdk.java.net/projects/jdk/14/ The documentation of https://openjdk.java.net/jeps/370 is here: https://download.java.net/java/GA/jdk14/docs/api/jdk.incubator.foreign/module-summary.html IMHO there’s a high chance that this will be supported by GraalVM eventually.
I’m not sure about the system programming part, but there are already GraalVM native-image-compatible libraries like https://github.com/remkop/picocli that facilitate writing AOT-compiled command line tools.