Я знаю, что распределение памяти - это отображение кода данных в соответствующее место в основной памяти. Но почему отдельная часть для разных данных, например данных стека в java, хранится в области данных класса, динамических (объектных) данных в куче, строковых данных в ConstantPool (через литерал, когда мы делаем), функции в области метода и т. Д. . для распределения памяти только для обеспечения удобства доступа, а также для улучшения нашего кода при хранении в mainmemory?Почему нам нужно распределение памяти в компиляторе
-1
A
ответ
2
Прежде всего, ваш вопрос должен был быть - Зачем нам нужны разные области хранения в JVM?.
В каждом экземпляре (экземпляре) JVM имеется 5 различных областей хранения.
Shared among all threads running in a JVM instance
Method Area --> Contains information about classes loaded by the JVM.
Heap --> common area for allocation of memory. Even String pool is part of this space.
Separate for each Thread
Java Stacks --> Contains state of Java (not native level) level methods
PC registers -> Program counter to keep track of Java method execution.
Native Method Stacks --> Stack for keeping track/state of native calls (methods).
Смежные вопросы
- 1. Для чего нам нужно распределение памяти?
- 2. Почему нам нужно np.squeeze()?
- 3. Почему нам нужно динамическое распределение памяти, хотя мы можем использовать массивы переменной длины?
- 4. Почему и когда нам нужно использовать @autoreleasepool в проектах ios
- 5. mongodb Почему нам нужно getSisterDB
- 6. Почему нам нужно неявное Application
- 7. Почему нам нужно использовать prompt.start()?
- 8. Почему нам нужно избегать CSS?
- 9. Почему нам нужно Downcasting действительно?
- 10. Почему нам нужно переопределить terminate()?
- 11. ПОЧЕМУ нам нужно вызвать control.invoke?
- 12. Распределение памяти
- 13. Явное распределение динамической памяти?
- 14. Почему нам нужно переопределить hashCode и равно?
- 15. Распределение памяти в Objective-C
- 16. Почему нам нужно преобразовать InputStream в ByteArrayOutputStream?
- 17. Почему нам нужно определить конструкторы в JavaScript
- 18. Почему нам нужно рабочее пространство в eclipse?
- 19. Распределение памяти в python
- 20. Распределение памяти памяти
- 21. Распределение памяти распределителя памяти
- 22. Нужно ли нам строить malloc?
- 23. Распределение памяти в Ubuntu
- 24. Распределение памяти памяти MASM
- 25. Распределение памяти C (malloc)
- 26. Распределение памяти в VC++
- 27. Распределение памяти памяти XPM
- 28. распределение виртуальной памяти
- 29. Почему нам нужно переопределить инициализатор назначенных суперклассов
- 30. Почему нам нужно переопределять методы - объективный c?
Нет мой вопрос специфичен для компилятора только (Несколько это связано с Jvm конкретной хранения [Infact каждый язык программирования нужно распределение памяти]). Я знаю немного о том, где данные находится в java, поэтому я упомянул здесь. – Jack
@Jack - Тогда пожалуйста * уточните/уточните * свой вопрос – TheLostMind
, когда компилятор компилирует наш код, он загружает наш код в основную память, а затем хранит различные данные нашей программы в отдельной области памяти нашей основной памяти. Почему компиляторы должны хранить этот данные в отдельных областях. Из 2-х причин достаточно простого доступа к коду и отдельных порций для более чистого использования. Код – Jack