News for hackers. Stuff that matters.
Re:How to Use the Foreign Function API in Java 22 to Call C ... by tadfisher on Wednesday May 08, 2024 @10:58PM (#40304881)
You can install a shutdown hook to do cleanup like this.

    Runtime.getRuntime().addShutdownHook(...)
Re:How to Use the Foreign Function API in Java 22 to Call C ... by sedro on Wednesday May 08, 2024 @11:22PM (#40305010)
That's how java.io.File#deleteOnExit works under the hood. The DLL is still loaded at that point and can't be deleted.
Re:How to Use the Foreign Function API in Java 22 to Call C ... by tadfisher on Thursday May 09, 2024 @03:51PM (#40312275)
Ah, looking through the docs [1]; you have to use your own ClassLoader (so it can be garbage-collected), and statically-link with a JNI library which is unloaded when the ClassLoader is garbage-collected.

1: https://docs.oracle.com/en/java/javase/22/docs/specs/jni/inv...