Java原码 LinkedList中方法unlink方法为什么最后执行x.item = null;

如题,是因为需要jvm处理不需要的内存吗?

附方法的原码

E unlink(Node<E> x) {
  // assert x != null;
  final E element = x.item;
  final Node<E> next = x.next;
  final Node<E> prev = x.prev;

  if (prev == null) {
    first = next;
  } else {
  prev.next = next;
    x.prev = null;
   }

  if (next == null) {
    last = prev;
  } else {
    next.prev = prev;
    x.next = null;
  }

  x.item = null;
  size--;
  modCount++;
  return element;
}

我猜是去除引用 减少对象引用数 在gc时 减少标记的工作量吧 欢迎指点