Java 27 and 26: runnable demos and captured output for every JEP, plus version lanes
Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01B38FGKKam5SCGgwgduVAh3
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
import java.lang.reflect.Field;
|
||||
import sun.misc.Unsafe;
|
||||
|
||||
/**
|
||||
* "sun.misc.Unsafe memory methods deprecated for removal": JEP 471 (23) deprecated them, JEP 498 (24) makes the first
|
||||
* call print a warning at run time. This allocates and frees 8 bytes off-heap and shows what the JVM says.
|
||||
* Chapter: docs/14-lanes-21-to-25.md
|
||||
*/
|
||||
public class UnsafeWarning {
|
||||
@SuppressWarnings("removal")
|
||||
public static void main(String[] args) throws Exception {
|
||||
System.out.println("java.version = " + System.getProperty("java.version"));
|
||||
Field f = Unsafe.class.getDeclaredField("theUnsafe");
|
||||
f.setAccessible(true);
|
||||
Unsafe u = (Unsafe) f.get(null);
|
||||
long addr = u.allocateMemory(8);
|
||||
u.putLong(addr, 42L);
|
||||
System.out.println("read back: " + u.getLong(addr));
|
||||
u.freeMemory(addr);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user