【发布时间】:2017-03-20 12:32:20
【问题描述】:
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 区域)。
在第 1 行,SCP 中的一个对象“abc”
在第 2 行,堆中的一个对象“abc”
在第 3 行,s3 指向 SCP 中已经存在的对象“abc”
到目前为止,有 2 个对象。我无法准确计算出第 4 行之后有多少。有没有办法找出在这些情况下使用 java 程序创建了多少对象?
【问题讨论】:
-
你读过编译器是如何处理字符串连接的吗?