• Почему в Java нет памяти типа stack?

    Zorkus
    @Zorkus
    По моему, все примитивные типы и их врапперы, по крайней мере локальные в пределах методов, в яве выделяются в стеке текущего потока.

    Но совершенно точно, JVM активно использует внутри стек для размещения объектов.
    Ответ написан
    Комментировать
  • Почему в Java нет памяти типа stack?

    knekrasov
    @knekrasov
    Судя по всему, ваш вопрос стоит понимать так:
    Почему объекты в Java нельзя создать на стеке?

    На мой взгляд, основная причина этого шага — упразднение указателей из языка и единообразная схема работы с памятью (gc).

    PS кстати, если бы стека и правда не было, то выполнять вложенные вызовы методов вы бы не могли.
    Ответ написан
    Комментировать
  • Почему в Java нет памяти типа stack?

    @1nd1go
    Ответ написан
    Комментировать
  • Почему в Java нет памяти типа stack?

    barker
    @barker
    Непонятно что Вы спросили. О каком ещё стеке речь? В java на уровне байткода есть стек и активно используется. А если на уровень языка подняться, то и тут в c++ всё точно так же, вроде. Но тогда тем более непонятно, причём тут «сложность для разработчика», если с этой т.з. стек совершенно прозрачен. Поясните в каком именно аспекте имеются ввиду различия? В java строго говоря нельзя сказать, что объекты «создаются только в heap», всё несколько сложнее (ввиду gc в том числе), в том числе тут на хабре были заметки о модели памяти в java.
    Ответ написан
    1 комментарий