2016-02-18 2 views
0

Статическое распределение переменной переменной выполняется во время компиляции, только если java является независимой от платформы, то как другая система jvm использует переменную или она снова компилирует статические переменные в другой системе для распределения памяти?распределение переменных статических переменных в одной системе на другую систему, если java не зависит от платформы?

+0

Вы можете показать несколько примеров, что вы имеете в виду? –

+0

статические переменные и блоки, загруженные во время компиляции .if java является независимой форматом, тогда, если файлы классов будут исполняться в другой другой системе, то что представляет собой ситуация для распределения памяти в статических переменных в другой системе> – vinod

+0

@vinod Это не то, что означает 'static' на языке Java. 'static' просто означает, что переменная является членом класса. Класс на самом деле является объектом, а память для его членов не выделяется до тех пор, пока класс не будет указан во время выполнения. Затем выделяется память для класса, и класс загружается динамически. – erickson

ответ

2

статические переменные и блоки загружаются во время компиляции

Это означает только то, что они записаны в сгенерированных файлов класса. Фактическое распределение памяти происходит во время выполнения, когда класс загружен. Исполняющая JVM выполняет фактическое распределение статических переменных и выполнение статических блоков.

Смежные вопросы