2017-03-20 8 views
-5
String s1="abc";     //line 1 
String s2 = new String ("abc"); //line 2 
String s3 = "abc";    //line 3 
String s4 = s1+s2+s3;    //line 4 

合計でいくつのオブジェクトが作成されているかを知る必要があります(ヒープとSCP領域)。行2ではSCPプログラムで作成された文字列オブジェクトの数

でライン1つのオブジェクト "ABC" に

、ヒープ内の1つのオブジェクト "ABC" 行3では

、S3点既にSCP

にオブジェクト "ABC" を既存の

これまでに2つのオブジェクトがあります。私は4行目の後に正確に何個を見つけ出すことができません。これらのケースでJavaプログラムを使用して作成されるオブジェクトの数を調べる方法はありますか?

+0

コンパイラが文字列の連結を処理する方法を読んだことはありますか? – bradimus

答えて

0

Javaコードを使用して作成されたオブジェクトの数を確認することはできません。 行4を実行すると、合計4つのオブジェクトが作成されます。

  1. "ABC"(ヒープメモリ)
  2. "ABC"(SCP)
  3. "ABCABC"(SCP)
  4. "ABCABCABC"(SCP)。
関連する問題