У меня есть объект, который состоит из нескольких других объектов. Когда я использую метод getObjectSize () в пакете Instrumentation, он также включает размер составных объектов?
getObjectSize(Object obj) возвращает память, занятую указанным объектом (obj) ... так что вы получите размер, который вы укажете.
getObjectSize(Object obj)
obj
Нет. Возвращенный размер отражает размер этого объекта - он включает ссылки, которые содержит объект, но не размер объектов, на которые ссылаются. (И, как отмечали другие, это не гарантирует, что оно действительно будет правильным.)
API doc говорит:
Результат может включать некоторые или все накладные расходы объекта и, таким образом, полезен для сравнения внутри реализации, но не между реализациями. Оценка может измениться в течение одного вызова JVM.