jvm中一共创建多少对象

String a=new String("A");
String b=a+new String("b");
请问一共在jvm中创建多少对象

三个对象,a指向A对象,b指向了a+B的对象。最后还有一个b自己的对象。一共三个

而且你可以用syso(system.out.println())输出一下试试,验证一下到底是不是三个对象

四个

“A","b",a,b

我觉得有五个。。。。。。。。。。

创建了三个对象,b=a+new String(“B”);这句代码等价于:b=new Sting(a+new String(“B”));这句代码会创建两个对象。

综合一下,是3个对象,2个变量。变量存在栈中,有a,b。对象存在堆中,有new String("A"),new String("b"),a+new String("b")

1个对象,2个变量。a既是变量也是对象,b是变量不是对象,String类型的变量都是在字符串缓存池中产生的,new String(“B”)会产生一个匿名对象,付值结束就会被jvm回收,最终是1个对象,2个变量