1
我注意到在Java 7中,集合類(本例中爲ConcurrentLinkedQueue)使用UNSAFE類進行交換和查找操作。
偏移似乎是在編譯時聲明計算:在集合中使用UNSAFE
itemOffset = UNSAFE.objectFieldOffset(local.getDeclaredField("item"));
如何將這項工作在這樣一個場景,我們沒有在編譯時如確切的參數化類型時,我們嘗試插入到一個蘋果聲明中有Collection<? super Apple>
的方法。
它是否使用'Apple'作爲聲明的類來計算偏移量?
希望能夠幫助您理解不安全行爲在這裏計算偏移量的方式。