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)
いくつかの質問は次のとおりです。そのうちのいくつかについては答えを知っていますが、他の人の意見を聞きたいので投稿しません。
- リファレンス ハンドラ スレッドは何をすべきか?
- スレッド ダンプはボトムアップと見なす必要があります。スタック トレースがロックされた状態で始まるのはなぜですか。少なくともスレッドが実行された後にロック ステートメントが表示されるべきではありません。
- 「ネイティブメソッド」とは?
- スレッド ダンプがソース コードをリコールできない場合、「不明なソース」はなぜですか?
- 最後に、待機とロックは同じですが、なぜですか?
いつものように、すべての質問にお答えいただき、回答済みとしてマークできるようお願いいたします。