web-dev-qa-db-ja.com

system.gc()とruntime.gc()の違い

System.gc()Runtime.gc()の違いは何ですか?

46
Andro Selva

両方とも同じです。 System.gc()は、実質的にRuntime.gc()と同等です。 System.gc()_Runtime.gc()を内部的に呼び出します。

唯一の違いはSystem.gc()がクラスメソッドであり、Runtime.gc()がインスタンスメソッドであるという点です。したがって、System.gc()の方が便利です。

56
Ramesh PVK

ソースコードを見ると:System.gc()は次のように実装されています

Runtime.getRuntime().gc();

したがって、これは単なる便利な方法です。

15
Andreas_D

ドキュメントを参照

System.gc()Runtime.getRuntime().gc()と同等です

8
trutheality

Runtime.gc()はネイティブメソッドであり、System.gc()はネイティブメソッドではなく、Runtime.gc()を呼び出します

2
Debmalya Adhya

System.gc():

1:クラスメソッド(静的メソッド)です。

2:非ネイティブメソッド。(ハードウェアおよびシステムリソースと直接対話しないコード)。

3:System.gc()、内部的にRuntime.getRuntime()。gc()を呼び出します。

Runtime.gc():

1:インスタンスメソッド。

2:ネイティブメソッド(ハードウェアおよびシステムリソースと直接対話するプログラミング言語)。

2

ランタイムシステムではgcはインスタンスメソッドですが、システムメソッドではgcは静的です。

このため、system.gc()を使用することを好みます。

0
sravan