Use VarHandle. It is there and it works. It allows you to replace 
Unsafe.objectFildOffset with a better, safer way to do the same thing you 
would be doing with the information that Unsafe.objectFildOffset provides, 
but without ever giving you the (potentially incorrect and unsafe to use) 
information about the "offset" of a field within an object. It allows the 
manipulation field contents in pretty much any useful way that having the 
offset would allow you to do with Unsafe.getX(object, offset) or 
Unsafe.putX(object, offset), but without providing with unsafe means that 
will break things (like e.g. writing a long to a reference field, or 
overflowing an int with a long write).

On Wednesday, June 19, 2019 at 7:04:26 AM UTC-7, xiaobai andrew wrote:
>
> thank for you reply,i look for some api just like  VarHandle, which i can 
> replace Unsafe.objectFildOffset without requires jdk.unsupported .
> any good idea?
>
>
> Gil Tene <g...@azul.com <javascript:>> 于2019年6月18日周二 下午11:43写道:
>
>> Out of curiosity: What do you use Unsafe.objectFieldOffset for that 
>> VarHandle is lacking functionality for?
>>
>> It is useful to gather use cases not covered by VarHandle so that we can 
>> propose additional capabilities there (preparing for a world with no Unsafe 
>> in it). Can you share an example of code?
>>
>> As to your question: I assume it is Unsafe as a whole you are having 
>> issues with, and not just Unsafe.objectFieldOffset, is that correct? You 
>> can find examples of how to use Unsafe in a post-java-8 world e.g. here: 
>> http://gregluck.com/blog/archives/2017/03/using-sun-misc-unsafe-in-java-9/
>>
>> On Tuesday, June 18, 2019 at 5:48:14 AM UTC-7, xiaobai andrew wrote:
>>>
>>> i usr Unsafe.objectFieldOffset in jdk 8 ,but when i want to update jdk 
>>> to 11, the idea compile error , it cannot  found the symbol Unsafe.
>>> i have try to find VarHandle api,but it did not 
>>> support Unsafe.objectFieldOffset
>>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "mechanical-sympathy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to mechanical-sympathy+unsubscr...@googlegroups.com <javascript:>.
>> To view this discussion on the web, visit 
>> https://groups.google.com/d/msgid/mechanical-sympathy/fd3d12a2-5f1d-4795-9e58-28723b8f02d7%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/mechanical-sympathy/fd3d12a2-5f1d-4795-9e58-28723b8f02d7%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"mechanical-sympathy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to mechanical-sympathy+unsubscr...@googlegroups.com.
To view this discussion on the web, visit 
https://groups.google.com/d/msgid/mechanical-sympathy/d628940f-7e88-4456-abbc-3377633f4e74%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to