あるテキストにガーベジコレクションに関する次のような問題があります。
12. X3 x2 = new X3();
13. X3 x3 = new X3();
14. X3 x5 = x3;
15. x3 = x2;
16. X3 x4 = x3;
17. x2 = null;
18. // コードを挿入する
オブジェクトをガーベジコレクションの対象にするには、18行目にどの1行を挿入しますか(2つを選択)。
A. x3 = null;
B. x4 = null;
C. x5 = null;
D. x3 = x4;
E. x5 = x4;
答えは、C とE になっていますが、どうしてそうなるのかどなたか分かりやすく教えていただけませんか。
No.3
- 回答日時:
必要なのは一行です。
その一行は2通り書けるということです。
2行実行して、2つのインスタンス全部ガベージしろと云っているわけではありません。
全部ガベージするには、3つの変数全部参照外しをしないといけないので3行必要です。
No.2
- 回答日時:
12. X3 x2 = new X3();// instance A
13. X3 x3 = new X3();// instance B
14. X3 x5 = x3;// instance B
15. x3 = x2;// instance A
16. X3 x4 = x3;// instance A
17. x2 = null;
>オブジェクトをガーベジコレクションの対象にするには、18行目にどの1行を
問題文はこのとおりだったのか少し疑問ではあるけど、
まずはこの文章で、どちらか一方のインスタンスへの参照がすべて無くなればいいと言うことは解りますか?
一文で参照を外すことが出来るのは、一個ですよね?ということは、一変数からしか参照されていないものを変更すれば、参照が無くなってガベージの対象となります。
この回答への補足
17行目まで実行したときinstanceA を指している参照変数はx4 とx3 でinnstanceB を指している参照変数はx5 になっていると思います。
したがって、innstanceB は答えEによってガーベジコレクションの対象になります。引き続き、instanceA は答えAによってガーベジコレクションの対象になります。 従って答えはAとEになるのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 場合の数、確率 45 (浜松医科大学) 1 2023/07/29 13:52
- 数学 ハイネボレルの被覆定理、内田伏一著 「集合と位相」定理22.1 1 2022/07/07 10:49
- 数学 線形代数の対称行列についての問題がわからないです。 2 2023/01/08 14:59
- 数学 cos3乗x3乗の微分のやり方教えてほしいです。 −9x2乗cos2乗x3乗sinxになったのですが 2 2022/06/03 17:20
- 数学 x1+3x2+2x3=4 2x1+x2-3x3=2 -5x1+5x2+18x3=a 次の連立1次方程 2 2023/07/02 03:15
- 数学 数学 納得できません 8 2023/03/06 13:03
- 物理学 二重障壁の計算 1 2023/03/05 16:49
- 統計学 統計検定2級の問題 分散、共分散、相関係数 3 2023/06/19 19:30
- 数学 数学(ベクトル) 単位ベクトルの一次結合で一般の空間ベクトルは表せる という式なのですがなぜ 「x1 3 2023/04/10 01:24
- SoftBank(ソフトバンク) oppo find x3 proとPixel6 どっちがおすすめですか?それともどっちも微妙ですか? 1 2022/05/02 15:43
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
変数名の付け方
-
VB.NET getとsetの概念がわかり...
-
変数の参照でエラーが出てしま...
-
C# インスタンスの破棄
-
抽象クラスのインスタンス生成...
-
オブジェクト参照がオブジェク...
-
他のファイルの変数参照
-
クラス型がインスタンス化され...
-
エクセル(複数インスタンス)...
-
C#において、同じインスタンス...
-
VB6.0のクラスで、自分自身のイ...
-
マルチスレッドでのインスタン...
-
文字列を日付に変換でParseExce...
-
String型もしくはint型をIntege...
-
VC#での24ビットbmp形式での保...
-
newしないインスタンス?実体化...
-
生成したインスタンスを削除す...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
変数名の付け方
-
インスタンス参照でアクセスで...
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
VB.NET getとsetの概念がわかり...
-
C#において、同じインスタンス...
-
生成したインスタンスを削除す...
-
C# インスタンスの破棄
-
newしないインスタンス?実体化...
-
SQLを連続発行する時の正しい(?...
-
「インスタンス」の意味をわか...
-
文字列を日付に変換でParseExce...
-
変数の参照でエラーが出てしま...
-
フォームの存在をチェックする方法
-
javaのクラスの作り方、エラー...
-
オブジェクト参照がオブジェク...
-
String a = "a"; と String b =...
-
エクセル(複数インスタンス)...
-
C#「オブジェクト参照が必要で...
-
他のファイルの変数参照
おすすめ情報