String种内存解析
String类内存解析String是java常用类中最重要的类,主要是它很多特殊点,网上分析的例子很多,我也想谈下自己
String类内存解析
String是java常用类中最重要的类,主要是它很多特殊点,网上分析的例子很多,我
也想谈下自己的看法,最经典的问题是String a=new String("abc");是如何实现创建
2个对象的?
我们看下String的构造方法,SUN(ORACLE),JDK源码的解释:
从图里我们可以看到开始new的时候需要进行2个步骤,先init再new,由于普通类init的时候不会创建对象,只有在new的时候才创建,也就只能创建一个对象,而String不一样,在初始化的时候就已经创建了一个对象,当new的时候又会再创建一个,自然是2个,而a引用new处理的...