90%的Java程序员都答不对这道基础题:String s = new String(“abc“)创建了几个对象?
一道经典面试题引发的思考面试官:“请问Strings=newString("abc");这行代码创建了几个对象?”很多Java开发者会脱口而出:“1个!在堆里创建了一个String对象呗!”但真相并非如此简单,这道题考察的是你对String底层机制的理解,包括**字符串常量池(StringPool)和堆内存(Heap)**的关系。深入分析:到底创建了几个对象?情况1:如果"abc"在常量池中不存在