Понимание потока обработчика ссылок

Я продолжаю свой путь к глубокому пониманию Java Thread. К сожалению, моя сертификация Java не охватывала эту часть, поэтому единственный способ научиться - задавать серию глупых вопросов. С таким количеством лет разработки Java я иногда задаюсь вопросом, сколько мне еще предстоит изучить: -)

В частности, мое внимание теперь уделяется потоку обработчика ссылок.

"Reference Handler" daemon prio=10 tid=0x02da3400 nid=0xb98 in Object.wait() [0x0302f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x1aac0320> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)
    - locked <0x1aac0320> (a java.lang.ref.Reference$Lock)

Далее следуют некоторые вопросы, на некоторые из которых я знаю ответ, но я не публикую его, потому что хотел бы услышать мнение других:

  1. Что должна делать ветка справочника?
  2. Дамп потока следует рассматривать снизу вверх, почему трассировка стека начинается с заблокированного, разве оператор блокировки не должен появляться, по крайней мере, после выполнения потока?
  3. Что означает "собственный метод"?
  4. Почему " Неизвестный источник ", и в этом случае дамп потока не может вспомнить исходный код?
  5. Наконец, режим ожидания и блокировка совпадают, почему?

Как обычно, я прошу ответить на все вопросы, чтобы я мог Марк ответил.

23
задан Leonardo 26 May 2015 в 10:47
поделиться