jni никто не отменял. но опять же, жабабыдлокодеру и это знать не надо. и даже без jni, на обычной java, чтобы понять что вот тут пишется >Escape-анализ >Язык Java не предлагает никакого способа явно разместить объект в стеке, но это не мешает JVM при случае использовать размещение в стеке. JVM могут использовать технику, именуемую escape-анализом (escape analysis), который может определить, что определенные объекты остаются прикованными к определенному потоку на весь срок жизни, и что этот срок жизни ограничен сроком жизни данного фрейма стека. Такие объекты можно безопасно размещать в стеке вместо кучи. Даже лучше, в случае мелких объектов, JVM может полностью избавиться от выделения памяти и просто размещать поля объектов в регистрах. >Листинг 2 показывает пример применения escape-анализа. Метод Component.getLocation() создает защитную копию поля location, так что вызывающая сторона не может случайно изменить текущее расположение компонента. Вызов getDistanceFrom() сперва получает местоположение другого компонента (что включает создание объекта), а затем использует поля x и y объекта, возвращаемого getLocation(), для вычисления расстояния между двумя экземплярами компонентов.http://www.rsdn.ru/forum/philosophy/1463241.1.aspx нужно ЗНАТЬ, что такое стэк и куча. но жабабыдлокодер, получив (я уверен) эти знания в ВУЗе (наверное даже семинарские были по теме), считает, что следующему поколению жабабыдлокодеров эти знания не нужны? так?
|