Try English version of Quizful



Раздаем бесплатные Q! подробности в группе Quizful.Alpha-test
Топ контрибуторов
loading
loading
Знаете ли Вы, что

В разделе "Статьи" можно найти обучающие статьи по информационным технологиям, а также узнать о новостях сервиса Quizful.

Лента обновлений
ссылка Jun 23 18:26
Комментарий от Bawarez:
не путайте понятия "знание работы с символами" и "знание...
ссылка Jun 23 02:39
Комментарий от Cat909:
Есть ошибка в тексте вопроса; правильно будет "реализоват...
ссылка Jun 22 17:04
Комментарий от MiXProjecT:
Правильный ответ "Ошибка выполнения запроса". Провере...
ссылка Jun 22 15:47
Комментарий от bugnet425:
Решение через систему уравнений в один цикл за один пр...
ссылка Jun 22 13:33
Комментарий от dieselok161:
Либо объясните, либо удалите этот вопрос)))
Статистика

Тестов: 153, вопросов: 8596. Пройдено: 409021 / 1990945.

Java / Хранение переменных примитивного типа в Java

Автор: lifeisgoodmf  к списку      

Вопрос
Где хранятся локальные переменные примитивного типа в Java?
Ответ
Если вы создаете и присваиваете локальную переменную примитивного типа, то все данные полностью хранятся на стеке. Если же вы создаете объект, то ссылка хранится на стеке, сам же объект уже создается в куче. При создании массива примитивных типов происходит то же самое что и с объектами: ссылка на массив храниться на стеке, а сам массив в куче.

Однако начиная с Java 6 Update 14 можно включить так называемый Escape-Analysis, который будет размещать объекты не покидающие метода тоже на стеке. Сделать это можно выставив параметр -XX:+DoEscapeAnalysis. Но он будет работать только в -server моде. В Java 6 Update 18 данную опцию отключили, а в Java 6 Update 21 вернули и сделали по умолчанию. Таким образом в вашей JVM запущенной на сервере данная оптимизация уже работает, если вы используете java6u21 и выше.

Размещение объектов и примитивов на стеке несказанно упрощает жизнь сборщику мусора. Пользуйтесь этим - создавайте небольшие маложивущие immutable объекты вместо часто изменяемых долгоживущих.

Если Вам понравился вопрос, проголосуйте за него

Голосов: 71  loading...
R2D2   fairk19   andrew_aa0mail   adrbtk   taras19921   wanmare1323   delargo   strateg29   Olyalya8   ingreen   TeaWitch   svarogvl   onlinekniga   rotwood   rembono   gerunn   bagira   answer42   alysha   alishk123   tred   FaNToM   humb1t   Sirelon   deadxperia   Nikolandr   dcba1257908   DastRule   artglorin   ovlasenko   ingvarbig   mary_smi   hyliganoff   vvkvvk   knive   EgorkaG   WestEvil   Amcsite   Blade_Master   jcd3   cranium   ranetka_st   quit   evgenyka   SamTan   obosnuy92   Pavlusho   AlexJa   Nur   Mariner   defascat   xxxshark93   Lyusik1989   Garazd   strugacky   Ronny147   Micahel   partizanes   bitler   cjioh330   Alex_I   heartbreaker4   whak   warmgrey   Zager   alexgiant   bIropka   quattro   znatok   zatorsky   Ambal