iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java的String类中两种对象实例化的区别
  • 562
分享到

java的String类中两种对象实例化的区别

java入门javaString对象实例化区别 2017-06-02 20:06:18 562人浏览 无得
摘要

区别:直接赋值:只会开辟一块堆内存空间,并且该字符串对象可以自动保存在对象池中以供下次使用。构造方法:会开辟两块堆内存空间,其中一块成为垃圾空间,不会自动保存在对象池中,可以使用intern()方法手工入池。java相关视频教程推荐:jav

区别:

直接赋值:只会开辟一块堆内存空间,并且该字符串对象可以自动保存在对象池中以供下次使用。

构造方法:会开辟两块堆内存空间,其中一块成为垃圾空间,不会自动保存在对象池中,可以使用intern()方法手工入池。

java相关视频教程推荐:java视频教程

直接赋值:

08827364463b542c76a6b5b975b93b1.png

常量优化机制:

String类的设计使用了共享设计模式

JVM底层实际上会自动维护一个对象池(字符串对象池),如果现在采用了直接赋值的模式进行String类的对象实例化操作,那么该实例化对象(字符串内容)将自动保存到这个对象池之中。

如果下次继续使用直接赋值的模式声明String类对象,此时对象池之中如若有指定内容,将直接进行引用;

如若没有,则开辟新的字符串对象而后将其保存在对象池之中以供下次使用所谓的对象池就是一个对象数组(目的就是减少开销)

构造方法赋值:

类对象使用构造方法实例化是标准做法。

String str = new String("hello");

通过分析可知,如果使用String构造方法就会开辟两块堆内存空间,并且其中一块堆内存将成为垃圾空间。除了这一缺点之外,也会对字符串共享产生问题。

因此,一般会采取直接赋值的方式。

相关文章教程推荐:java入门

--结束END--

本文标题: java的String类中两种对象实例化的区别

本文链接: https://www.lsjlt.com/news/4249.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java的String类中两种对象实例化的区别
    区别:直接赋值:只会开辟一块堆内存空间,并且该字符串对象可以自动保存在对象池中以供下次使用。构造方法:会开辟两块堆内存空间,其中一块成为垃圾空间,不会自动保存在对象池中,可以使用intern()方法手工入池。java相关视频教程推荐:jav...
    99+
    2017-06-02
    java入门 java String 对象 实例化 区别
  • Python对象整理中两种类型的区别是什么
    本篇文章为大家展示了Python对象整理中两种类型的区别是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。主要整理一下Null与None两种类型的区别<!--[if !suppor...
    99+
    2023-06-17
  • java Long类型转为String类型的两种方式及区别说明
    目录java Long类型转为String类型1、Long.ValueOf("String")返回Long包装类型数据2、Long.parseLong("String")返回long...
    99+
    2022-11-12
  • java中实例与对象的区别和联系
    对象是抽象的说法,你可以把它看作一个符合它自身定义的所有实例的代表,而实例则是对象的现实体现。你可以说一个实例是一个对象,但你不能说一个对象是一个实例。因为定义对象时只是把自身的规则和逻辑定义好,实例可以通过输入不同的数据使得自己和其他实例...
    99+
    2018-12-10
    java入门 java 实例 对象 区别 联系
  • java对象转化成String类型的四种方法小结
    目录方法1:采用 Object#toString()方法 方法2:采用类型转换(String)object方法 方法3:采用 String.valueOf(Object) 方法 方法...
    99+
    2022-11-12
  • java中类方法与对象方法的区别
    类方法和对象方法的区别如下:对象方法必须用对象调用,类方法必须用类来调用对象方法中可以直接访问属性(成员变量),类方法中不可以直接访问属性(成员变量)类方法和对象方法可以进行相互调用1对象方法中可以直接调用类方法2类方法中间接调用对象方法 ...
    99+
    2021-04-22
    java入门 java 类方法 对象方法 区别
  • 了解 Java 对象开发技术中函数的种类及其区别
    Java 是一种面向对象的编程语言,因此在 Java 编程中,对象是非常重要的概念。对象是由属性和方法组成的,而方法则是对象的行为。Java 中的方法可以分为多种类型,本文将介绍 Java 对象开发技术中函数的种类及其区别。 实例方法 ...
    99+
    2023-07-05
    对象 开发技术 函数
  • Java中的抽象类和接口的两大区别分别是什么
    这篇文章给大家介绍Java中的抽象类和接口的两大区别分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。抽象类和接口有什么区别什么情况下使用抽象类什么情况下使用接口抽象类和接口的不同:抽象函数为带有abstract...
    99+
    2023-06-02
  • java中 String和StringBuffer的区别实例详解
    java中 String和StringBuffer的区别实例详解String:           是对象不是原始类型.  &nb...
    99+
    2023-05-31
    string stringbuffer buf
  • java中类方法与实例方法的区别
    一、类方法类方法是静态方法,前面需要有static修饰符修饰。类方法内不能涉及有关变量的内容。不能调用类的对象方法不能引用对象变量类方法不能被重写(覆盖)类方法不能使用super, this关键字二、实例方法可以调用类的对象方法可以引用对象...
    99+
    2020-02-10
    java基础 java 类方法 实例方法 区别
  • Java 中对象的序列化和反序列化有什么区别
    本篇文章给大家分享的是有关Java 中对象的序列化和反序列化有什么区别,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。主要内容如下:简洁的代码实现序列化实现的基本算法两种特殊的情...
    99+
    2023-05-31
    反序列化 java 序列化
  • Java中对象的序列化详解及实例
     Java中对象的序列化详解及实例把java对象转化为字节序列的过程称为对象的序列化。把字节序列恢复为java对象的过程称为对象的反序列化。对象序列化的用途:把对象的字节序列永久的保存到硬盘上,通常存放在一个文件中2.在网络上传送...
    99+
    2023-05-31
    java 序列化 中对
  • Java 超详细讲解类的定义方式和对象的实例化
    目录1.面对对象的初步认识1.1什么是面向对象1.2面向对象与面向过程2.类的定义与使用2.1简单认识类2.2 类的定义格式3.类的实例化3.1什么是实例化?3.2重点笔记总结1.面...
    99+
    2022-11-13
  • java 对象实例化过程中的多态特性解析
    目录java 对象实例化过程中的多态特性通过案例说明通过上述代码java对象的三个特性(封装、继承、多态)1.封装2.继承3.多态java 对象实例化过程中的多态特性 执行对象实例化...
    99+
    2022-11-12
  • java对象实例化过程中的多态特性怎么理解
    本篇内容主要讲解“java对象实例化过程中的多态特性怎么理解”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“java对象实例化过程中的多态特性怎么理解”吧!java 对象实例化过程中的多态特性执行...
    99+
    2023-06-21
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作