记录一下String str=new String(“123“)究竟创建了几个对象?
@[TOC](new String(“123”)究竟创建了几个对象)String str=new String("123")这行代码究竟创建了几个String对象呢?有两个情况:JVM编译阶段判断常量池中“123”存在与否,进而来判断是否创建常量对象,然后运行阶段通过new关键字在java heap创建String对象。情况一: 创建1个对象,如果字符串池中已经存在了“123”这个对象,那么直接在创建一个对象放入堆中,返回str引用。情况二: 创建了2个对象,如果字符串池中未找到“123”这
原创
2020-09-01 10:53:57 ·
1663 阅读 ·
0 评论