繁体   English   中英

检查 String 的对象内存分配

[英]Check object memory allocation of String

假设我创建了一个 String 对象,例如

String st = new String("newOBject");

另一个通过

String str = "secondObject";

现在我的问题是我将如何确认由 String 文字创建的对象是否在 String 池中创建,并且使用 new 运算符创建的对象是否在 Heap 内存中创建。 有没有什么方法可以进入内存并告诉我们它的位置

虽然不直接查看字符串的内存,但您可以执行以下操作:

boolean isStringInPool(String stringToCheck){
    String test = new String(stringToCheck);
    test = test.intern();
    return stringToCheck == test;
}

那就是在堆上创建一个具有相同值的字符串,将其插入(强制它在池中),并比较引用(只有当两者都在池中时才返回真)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM