Размер кучи Java/KotlinJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Размер кучи Java/Kotlin

Сообщение Anonymous »

Я пытаюсь понять, какие пространственные объекты занимают память в куче при инициализации, но не могу найти точную информацию по этому поводу, поэтому на мой вопрос даны эти 2 примера, по 3 класса в каждом, что будет порядок размера, занимаемого каждым экземпляром?
Я знаю, что каждый int занимает пространство в 4 байта, но не меняет ли его объявление как val или var это, как в классе C? Изменяет ли наличие метода получения его, как в классе A?
class A (
val x: Int = 999,
val y: Int get() = 999,
var z: Int = -1
)

class B (
val x: Int = 0,
val y: Int = 999,
val z: Int = -1
)

class C (
x: Int = 999,
y: Int = 999,
z: Int = 999
)

Во втором примере влияет ли на размер наличие функции, объявленной как в A? А как насчет B, где будут вызываться только параметры класса?
А как насчет C, где есть как параметры, так и методы получения, а также функция внутри класса со своими собственными параметрами и переменными?
class A {
fun foo() = 123456
val nr: Int get() = 7658894
val foo: Int get() = nr

class B(val bar: Int, val foo: Int)

class C(val bar: Int) {
val nr: Int get() = bar
fun foo() = nr
fun oper(num: Int): Int {
val x = num + 1
val y = num - 1
return x * y
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/786 ... -heap-size
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»