Я знаю разницу между стековой и кучной памятью, однако во многих блогах я встречал слово «память off-heap». Я просмотрел множество блогов и видео на YouTube, чтобы узнать, есть ли какая-либо связь между памятью вне кучи и памятью стека?
Согласно популярному ответу этого вопрос, я могу понять, что память вне кучи относится к объектам хранилища, которые управляются EHCache и не подвергаются сборке мусора. Это определение идеально, но у меня вопрос: память вне кучи - это то же самое, что и стековая память, или все вместе это другая сущность в управлении памятью?
Редактировать: Если они не совпадают, не мог бы кто-нибудь подробно объяснить, что их отличает, с некоторыми базовыми объяснениями. Я новичок в управлении памятью Java.
Это не повторяющийся вопрос. Я не спрашиваю о разнице между памятью в куче и вне кучи, или мой вопрос заключается в том, чтобы найти разницу между памятью стека и кучи. Вопрос в том, одинаковы ли память off-heap и стековая память?
Этот ответ stackoverflow.com/a/13894476/169346 на этот вопрос расскажет вам все, что вам нужно знать. Ответ: «Нет, они не такие».
@JeremyP, спасибо за совет. Я обновил свой вопрос, и если бы вы могли просмотреть и оставить свои комментарии, было бы здорово.




Они не одинаковы.
Различия:
Это все, что нужно знать типичному Java-разработчику. Если вы хотите копнуть глубже, взгляните на исходный код OpenJDK.
1 - The stacks themselves are allocated implicitly by Thread.start() and freed when a thread terminates. They are a form of off-heap memory, but they need to be requested from the OS in order to implement the "red zone" that is typically used to detect stack overflow ...
2 - This ignores the fact that when "escape analysis" is enabled, the JIT may generate code that allocates local objects onto the stack. If that happens, then the notional allocation and releasing of stack memory may happen within a method call.
Это дубликат stackoverflow.com/questions/6091615/… (в котором хотя бы один ответ дает ответ на этот вопрос, а это нет). Я не могу проголосовать за закрытие, потому что я случайно отозвал свое первоначальное голосование за закрытие.