字符数组的应用场景:修改字符串的内容;
字节数组的应用场景:在网络当中传输的数据都是字节信息,将字节信息转成字符串。
内存模型:
通过直接赋值创建的String对象会存在串池当中,JDK7以前,串池位于方法区中,JDK7开始,串池从方法区挪到了堆内存。
当通过直接赋值获得字符串时,系统会先观察串池中有没有相同的字符串,如果有就不会再创建新的字符串,而是给引用变量相同的地址值,即实际指向同一个对象。
当通过new来创建,是一定会再堆内存中创建一个新的对象的。
因此,String直接赋值会比new更节约内存。