Я продолжаю свой путь к глубокому пониманию 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)
Теперь следуют некоторые вопросы, для некоторых из них я знаю ответ, но я не публикую его, потому что я хотел бы услышать мнения других:
- Что должен делать поток Reference Handler?
- Дамп потока следует рассматривать снизу вверх. Почему трассировка стека начинается с заблокированного, не должен ли оператор блокировки появляться хотя бы после запуска потока?
- Что означает «родной метод»?
- Почему «Неизвестный источник», и в этом случае дамп потока не может вызвать исходный код?
- Наконец, ожидание и блокировка имеют то же самое, почему?
как обычно, прошу ответить на все вопросы, чтобы я мог пометить ответ.