I bet there isn't a language around (with GC) that tops their GC implementations.
For Java,
https://docs.oracle.com/en/java/javase/18/docs/specs/jni/des...
https://github.com/openjdk/jdk/blob/master/src/java.base/sha...
And as bonus since you didn't ask for it, Eiffel
In Go, objects are segregated by allocation size, so the GC can round subobject pointers to keep the surrounding object alive.
C# has Span<T>, nowadays, but is guaranteed to only live on the stack, making it easier for the GC to keep the object it points into alive while the Span lives (https://docs.microsoft.com/en-us/dotnet/api/system.span-1?vi...)
All provide ways to shoot yourself if not used properly.