私は、C++では、各インスタンスに仮想テーブルを指す仮想ポインタがあることを認識しています。しかし、Javaでは動的バインディングはどのように実装されていますか?動的バインディングはどのようにJavaで実装されていますか?
2
A
答えて
0
実際には仮想関数の実際のテーブルへの実際のポインタなので、 "仮想関数テーブル"(vftと略されます)という名前があります。また、一般的には "vtbl"と略記されていますが、これは問題を解決するものではありません。
Javaはおそらくかなり類似しています。
2
私は自分自身の質問に答えます。基本的に、オブジェクトはそのクラスオブジェクトへの参照を格納します。ここで動的バインディングはオブジェクトからオブジェクトに転送されます。
関連する問題
- 1. javaの "this"キーワードはどのように実装されていますか?
- 2. ESBはどのように物理的に実装されていますか?
- 3. Javaインターフェイスはどのように内部実装されていますか? (vtables?)
- 4. @privateはどのように実装されていますか?
- 5. BigDecimalはどのように実装されていますか?
- 6. MarshalByRefObjectはどのように実装されていますか?
- 7. \ bはどのように実装されていますか?
- 8. getchar()はどのように実装されていますか?
- 9. フィルタはどのように実装されていますか?
- 10. タスクスケジューリングはどのように実装されていますか?
- 11. HttpSessionはどのように実装されていますか?
- 12. 動的バインディング== Javaでの遅延バインディングかどうか?
- 13. Collection.sortがどのように実装されていますか?
- 14. Wami Recorderは実際にどのように実装されていますか?
- 15. Objective Cではカテゴリはどのように実装されていますか?
- 16. MPI_SendはどのようにMPI_Characterで実装されていますか? FORTRANで
- 17. どのように動的にロードされたDLLに(C++)スレッドローカルストレージを正しく実装していますか?
- 18. WindowsでPythonマルチプロセッシングはどのように実装されていますか?
- 19. String.LengthはC#でどのように実装されていますか?
- 20. SQLデータベースエンジン内でデータベーストリガはどのように実装されていますか?
- 21. OSレベルでスリープはどのように実装されていますか?
- 22. pthreadはLinuxカーネル3.2でどのように実装されていますか?
- 23. Surface SDKではジェスチャがどのように実装されていますか?
- 24. 保持カウントはNSObjectでどのように実装されていますか?
- 25. Pythonでレンジタイターはどのように実装されていますか?
- 26. string.findはCPythonでどのように実装されていますか?
- 27. Linuxカーネルでpercpuポインタはどのように実装されていますか?
- 28. ニューラルネットワークはOpenCvでどのように実装されていますか?
- 29. コルーチンはsmalltalkでどのように実装されていますか?
- 30. C#4でメメントパターンはどのように実装されていますか?
引用はありますか?このリンク(http://en.wikipedia.org/wiki/Late_binding#Late_binding_in_Java)では、詳細APIや引用なしにリフレクションAPIによって実装されています。 – Tony