string实例化对象的方式,java对象是类的实例化
区别:
直接赋值:只开放一个堆内存空间,字符串对象可以自动保存在对象池中以备下次使用。
构造方法:会打开两个堆内存空间,其中一个会成为垃圾空间,不会自动保存在对象池中。您可以使用internet()方法手动进入池中。
推荐相关java视频教程:java视频教程
直接赋值:
如何解决写爬虫IP受阻的问题?立即使用。
常量优化机制:
String类的设计使用共享设计模式。
实际上,在JVM的底层会自动维护一个对象池(字符串对象池)。如果现在以直接赋值的方式进行string类的对象实例化操作,那么实例化的对象(字符串内容)会自动保存在这个对象池中。
如果下次继续使用直接赋值的模式来声明字符串类对象,如果对象池中有任何指定的内容,就直接引用;
如果没有,创建一个新的string对象,并保存在对象池中供下次使用。所谓对象池就是一个对象数组(目的是减少开销)。
构造方法赋值:
使用构造方法实例化类对象是标准做法。
String str=新字符串( hello );通过分析可以看出,如果使用字符串构造方法,会开辟两个堆内存空间,其中一个会成为垃圾空间。除了这个缺点,字符串共享也会有问题。
所以一般采用直接赋值。
相关文章和教程推荐:java入门。以上是java的String类中两个对象实例化的区别细节。请多关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。