Я проверяю объекты, и я заметил, что размер java.lang.String всегда 24 байта, независимо от текста, который он содержит.где java хранить собственные объекты
Например:
String str1 = "testtesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttesttest";
String str2 = "test";
При вычислении размера строки с помощью этого метода:
String test = "hello";
for(int i=0; i<10000; i++){
test += test + i;
}
log.debug(Agent.inst.getObjectSize(test));
Это говорит мне, что обе строки 24 байта.
Я знаю, что все объекты хранят только адрес значения, и это значение статично, но я не понимаю, что я наблюдаю. Что происходит?
Возможный дубликат: http://stackoverflow.com/questions/4918399/what-type-of-memory-heap-or-stack-string-constant-pool-in-java-gets-stored –
Возможный дубликат: http : //stackoverflow.com/questions/19402207/java-variable-placed-on-stack-or-heap –
В Java нет такой вещи, как «собственный объект». – EJP