まず、Javaでメモリリークは何ですか?
Javaでは、メモリリークは、いくつかのオブジェクトが割り当てられているとされ、これらのオブジェクトは、次の2つの特性を有し、
まず、これらのオブジェクトである到達可能な、すなわち有向グラフ、通路の存在は、それに接続されてもよい。第二に、これらのオブジェクトは役に立たない、すなわち後、これらのプログラムを使用していないオブジェクト。
オブジェクトは、これら2つの条件を満たすことであるならば、これらのオブジェクトは、Javaでのメモリリークと判断することができ、これらのオブジェクトは、GCを回復することはないだろうが、それはメモリを占有しません。
メモリリークのC ++では、より広範な数。一部のオブジェクトは、C ++は、GCがないので、メモリは常に検索されます、届かない、メモリ空間が割り当てられています。
Javaでは、これらの到達不能オブジェクトのリサイクルを担当するGCによって、プログラマがメモリリークのこの部分を考慮する必要はありませんように。
分析を通じて、我々は、C ++のために、プログラマはエッジと頂点を管理する必要がある、ということを知っている、とJavaプログラマのためだけのエッジ(頂点のリリースを管理する必要はありません)を管理する必要があります。
このように、Javaはプログラミングの効率を改善します。