sun.misc.Unsafe
을 많이 사용하는 Java에서 일부 FFI 코드를 작성하고 있습니다.클래스의 두 구현 중 하나를 사용하여 컴파일하는 Java 코드 작성
Java 9에서이 클래스는 액세스 할 수 없으므로 jdk.unsupported.Unsafe
이됩니다. 이제는 작동하도록 코드를 작성하고 싶지만 Java 9에서 계속 작업하십시오.
가장 해커가없는 방법은 무엇입니까? 바이너리 호환성을 원하지만 소스 호환성도 괜찮습니다.
편집 : Unsafe
의 메소드를 호출 할 때마다 리플렉션 또는 가상 디스패치를 사용하여 100 % 적합하지 않습니다. 이러한 방법의 대부분은 단일 시스템 명령어으로 컴파일됩니다. 따라서 성능이 중요합니다. 래퍼 (wrapper)를 가지고 있어도 괜찮습니다. JIT가 매번 인라인 할 것입니다.
나의 현재 계획은 런타임에 적절한 클래스를로드하는 것입니다.
'지원되지 않습니다.'... – r1verside
@ r1verside 알지만, 너무 많은 코드 (새로운 개발 포함)가 그것에 달려 있기 때문에 거의 사라지지 않을 것입니다. – Demi
아마 오래전에해야 할 일을해야 할 때가 왔습니다. 코드를 수정하여 (낡은 태양 코드를 사용하지 않도록). – Bohemian