JavaのC++スマートポインタの行に沿って何かがありますか?Javaに「スマートポインタ」はありますか?
答えて
Javaの「ポインタ」(参照情報)はすべてスマートポインタです。
Javaは管理対象環境で実行されます。つまり、Javaはガベージコレクタを使用して、もはや参照されなくなった変数をクリーンアップします。
Javaの参照は、ポインタとは少し異なります。 Javaは、C++で見られるすべてのポインタ値と数学を抽象化します。したがって、新しいオブジェクトを作成して変数に格納すると、そのオブジェクトをJavaの「スマートポインタ」のバージョンに格納しています。
JavaのリファレンスとC++のスマートポインタとの違いについて詳しく説明することができます。 – Pacerier
スマートポインタは、フリーでデストラクタが呼び出されたときの開発者コントロールを提供します。低レイテンシ・プログラミングでは、Javaで一般的な応答時間の「ジッタ」を排除します。 autoポインタも同様です。ヒープのどの部分でもなく、実際のオブジェクトをスタックに置くことで、より良いローカリティが得られます。 どちらもJavaで使用できない機能です。 –
いいえ、Javaにはどのクラスのポインターもありません。とにかくガベージコレクタがあると、メモリ割り当て/解放サイクルの自動管理の参照カウントが行われているため、一般にスマートポインタは必要ありません。
@ pablo-tx ..ガベージコレクタだけがメモリ管理に役立つのですか? – garima
これは正確ではありません。java **のオブジェクトは**実際のリソースへのポインタです。 –
@garima:ご質問は分かりますが、YES:ガベージコレクタがメモリ管理に役立ちます。 –
はい、いいえ。いいえ、ポインタオブジェクトがJavaに存在するようなものはありません。はい、すべてのオブジェクトは「スマートポインタ」という意味でガベージコレクションの対象となり、それ自身の生涯を話すことになります。
私はメモリ管理のコンテキストでスマートポインタについて聞いたことがあります。メモリ管理はJavaプラットフォームの中核であるため、明らかにその必要はありません。
ガベージコレクションをある程度カスタマイズすることができるので、最も近いのはjava.lang.ref.WeakReferenceとjava.lang.ref.SoftReferenceです。
- 1. スマートポインタとJavaでのRef Counting
- 2. JavaにResolvedFutureクラスはありますか?
- 3. JavaにFile.AppendAllText()はありますか?
- 4. ターゲットがC++で破棄されたときに自動的にゼロになるスマートポインタはありますか
- 5. スマートポインタでラップされたクラスのメンバに簡単にアクセスできる方法はありますか?
- 6. OpenCVまたはBoostスマートポインタ
- 7. スマートポインタ
- 8. スマートポインタ
- 9. Java 6からJava 7までのJDiffはありますか?
- 10. Java CSSフォーマッタ・ユーティリティはありますか?
- 11. バグのJavaアノテーションはありますか?
- 12. JavaでTrieはありますか?
- 13. Java用の「ビジュアルデバッガ」はありますか?
- 14. Javaにリクエストコンテキストがありますか?
- 15. メッセージユニークはJavaメールにあります
- 16. Java 7からJava 6へのコンバータはありますか?
- 17. javaにはいくつかのAPIがありますか?
- 18. Javaにフォントがありませんか?
- 19. Java 1.4プロジェクトはJava 7と互換性がありますか?
- 20. Java言語用のJavaパーサはありますか?
- 21. javaまたはjavaライブラリに言語コードの定数がありますか?
- 22. JavaのFile.separatorに相当するC#はありますか
- 23. getcharに相当するJavaはありますか?
- 24. excel vlookupに相当するJavaはありますか?
- 25. TwitterのOstrichライブラリに相当するJavaはありますか?
- 26. OpenSSLのbn_rand_rangeに相当するJavaはありますか?
- 27. postgresql + javaのtimezoneに関する質問はありますか?
- 28. サービスクラスはJavaでシングルトンにする必要がありますか?
- 29. unputcに相当するJavaはありますか?
- 30. Java用ソースアウトライナーに相当するものはありますか?
あなたは何かを混乱させるかもしれないと思います。スマートポインタは、例えばポインタを提供するラッパーである。参照カウントまたは境界チェック。 Javaには未処理のポインタはなく、GCが組み込まれています。 – delnan
スマートポインタについては、Wikipediaの説明を参照してください。http://en.wikipedia.org/wiki/Smart_pointer –
言語実装そのもの(JVM)すべてではないにしても)、通常はC++でスマートポインタによって処理されるジョブです。 –