首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当将null赋值给String对象时会发生什么?

当将null赋值给String对象时会发生什么?
EN

Stack Overflow用户
提问于 2021-01-26 19:12:54
回答 1查看 203关注 0票数 0

我试图理解当一个字符串被赋值为null时,它会发生什么。所以,我有一个String str = new String("abc");,它使用了内存中的一些空间。当str被分配null,即str = null时,用来创建"abc"的内存发生了什么变化。它是否仍在使用内存中的空间?

EN

回答 1

Stack Overflow用户

发布于 2021-01-26 19:17:30

Java是垃圾回收的。分配给字符串的内存将在垃圾收集器确定的功能时间点被释放。详情请参见Java Garbage Collection Basics

更新:正如评论者指出的那样,string interning可能会阻止字符串被垃圾回收。细节取决于很多东西,比如引用的范围、JVM和Java版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65907775

复制
相关文章
当return遇到try、catch、finally时会发生什么?
在Java中的return语句和方法有密切的关系,return语句用在方法中,有两个作用,一个是返回方法指定类型的值(这个值总是确定的),一个是结束方法的执行(仅仅一个return语句)。就像下边这样:
AlbertYang
2020/09/08
2.8K0
Java中当对象不再使用时,不赋值为null会导致什么后果 ?
点击上方蓝色“程序猿DD”,选择“设为星标” 回复“资源”获取独家整理的学习资料! 作者 | zhantong 来源 | https://www.polarxiong.com 前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。 鉴于网上有太多关于此问题的误导,本文将通过实例,深入JVM剖析“对象不再使用时赋值为null”这一操作存在的意义,供君参考。本文尽量
程序猿DD
2023/04/17
6420
Java中当对象不再使用时,不赋值为null会导致什么后果 ?
【C++】匿名对象 ② ( 将 “ 匿名对象 “ 初始化给变量 | 将 “ 匿名对象 “ 赋值给变量 )
" 匿名对象 " 的 作用域 仅限于其所在的 表达式 , 这句表达式 执行完毕后 , 匿名对象 自动销毁 ;
韩曙亮
2023/10/15
3990
【C++】匿名对象 ② ( 将 “ 匿名对象 “ 初始化给变量 | 将 “ 匿名对象 “ 赋值给变量 )
对象不再使用时,为什么要赋值为 null ?
许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回答不出来了。
用户4283147
2022/10/27
5250
对象不再使用时,为什么要赋值为 null ?
Java : 对象不再使用时,为什么要赋值为 null ?
原文链接:http://www.polarxiong.com/
业余草
2019/12/03
1.2K0
将string当字节流使
string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个string变量赋值有多种方法:
一见
2018/08/10
3930
[答疑]EA对象图里怎么给对象属性赋值
老师,我想要object diagram里有下面的效果,但在EA里双击对象出来的属性框找不到设置属性的地方,能做到吗
用户6288414
2019/09/23
4.3K0
[答疑]EA对象图里怎么给对象属性赋值
当输入getsystem会发生什么?
“Meterpreter的getsystem命令是非常nice的!在输入getsystem的命令之后,Meterpreter就会神奇的将权限从本地管理员提升为SYSTEM用户。”
Gamma实验室
2020/12/23
1.1K0
当输入getsystem会发生什么?
当输入getsystem会发生什么?
getsystem命令包含有三种技术,前两个基于命名管道模拟,最后一个依靠令牌复制。
MssnHarvey
2022/08/10
3920
当 Redis 发生高延迟时,到底发生了什么
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题
Bug开发工程师
2019/11/15
1.6K0
当 Redis 发生高延迟时,到底发生了什么
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题
程序员历小冰
2019/11/12
1.2K0
当 Redis 发生高延迟时,到底发生了什么
当 Redis 发生高延迟时,到底发生了什么
Redis 是一种内存数据库,将数据保存在内存中,读写效率要比传统的将数据保存在磁盘上的数据库要快很多。但是 Redis 也会发生延迟时,这是就需要我们对其产生原因有深刻的了解,以便于快速排查问题,解决 Redis的延迟问题
程序员历小冰
2019/12/05
6270
当 snapshot 失败时发生了什么
工作中遇到了与 snapshot 异常相关的问题,特此总结一下,与 snapshot 相关的流程图如下:
shengjk1
2020/10/16
1K0
当 snapshot 失败时发生了什么
当UNet遇见ResNet会发生什么?
这篇文章主要以几篇经典的分割论文为切入点,浅谈一下当Unet遇见ResNet会发生什么?
BBuf
2020/04/15
3.3K0
当UNet遇见ResNet会发生什么?
Java String 对 null 对象的容错处理
第一句相信大家都会容易理解,这是类型初始化的基础知识,但是第二句就让我很疑惑:为什么打印一个 null 对象不会抛出异常?带着这个疑问,我开始了解惑之旅。下面我将详细阐述我解决这个问题的思路,并且深入 JDK 源码找到问题的答案。
Java团长
2018/08/06
2.2K0
Java String 对 null 对象的容错处理
Primitives that are fields in a class are automatically initialized to zero, as noted in the Everything Is an Object chapter. But the object references are initialized to null, and if you try to call methods for any of them, you’ll get an exception-a runtime error. Conveniently, you can still print a null reference without throwing an exception.
终码一生
2022/04/14
4470
将字符串指针赋值给数组[通俗易懂]
比如 char *p=”sdflkjasljfsjlsdfsa”; char p1[200]; 将p赋给p1 (1)strcpy(p1,p); (2)char *src=”helloworld”; char des[100]={0}; memcpy(des,src,strlen(src)+1); //void *memcpy(void *str1, const void *str2, size_t n) 从存储区 str2 复制 n 个字符到存储区 str1。 (3)用循环也可以: for(int i=0;*(p+i)!=’\0’;i++) { p1[i]=*(p+i); } (4)sprintf(p1,”%s”,p);//p1长度需要大于p,否则会发生溢出 C 库函数 – sprintf() http://www.runoob.com/cprogramming/c-function-sprintf.html linux c之snprintf()和sprintf()区别 https://blog.csdn.net/u011068702/article/details/61916220
全栈程序员站长
2022/07/28
2.1K0
选择篇(011)-当我们这样做时会发生什么?
参考答案:A 解析: 这在JavaScript中是可能的,因为函数也是对象!( 原始类型之外的所有东西都是对象) 函数是一种特殊类型的对象。您自己编写的代码并不是实际的函数。该函数是具有属性的对象,此属性是可调用的。
齐丶先丶森
2022/05/12
1920
当 NOT NULL DEFAULT遇到 Invalid use of NULL value
ERROR 1138 (22004) at line 7: Invalid use of NULL value
WindCoder
2018/09/20
2.7K1
为什么给offsetWidth和offsetHeight赋值无效
本章节介绍一个在初学者中比较容易出现的问题,给offsetWidth和offsetHeight赋值无效现象。
IT工作者
2021/12/29
1.3K0

相似问题

当char *被赋值给python对象时会发生什么?

11

当将自动释放对象赋值给强变量时会发生什么?

30

类型'string | null‘不可赋值给类型'string’。类型“null”不能赋值给类型“string”

23

当将传递的引用变量赋值给struct成员时会发生什么?

14

当我们将引用赋值给变量时会发生什么?

322
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文