2016 - 2024

感恩一路有你

java可以获取内存地址吗 String存放在堆中还是栈中?

浏览量:1626 时间:2023-07-01 10:48:06 作者:采采

String存放在堆中还是栈中?

问题中的字符串应该是指java中的字符串。这里给出的答案是针对java的。

String是不可变的对象,在java中只能作为常量使用。java代码中所有显式的字符串,也就是直接写的字符串,比如abc,都是字符串对象。String本身作为一个对象必须在堆上,String中的content char[]值放在堆的一个特殊区域——常量区。

所以字符串本身是放在堆上的,根据垃圾收集的情况,可以分为新生代和旧时代。如果这个字符串对象是刚刚创建的,一般在堆的新生代,如果创建后已经存在了很长时间,很可能在堆的老年。注意,字符串中的字符串内容,即字符数组值,位于堆的常量区域。

如果你先有一个字符数组,比如char[] arr {a,b,c},然后调用String N

java中的session中的数据存放在哪里,硬盘,还是,内存?

每次绘制时,服务器内存中都会有一个会话对象。当会话结束时,会话对象将被销毁。所以session的应用需要谨慎,避免过度消耗服务器。

对象 字符串 字符 常量 session

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。