Как новый оператор выделяет память для объекта в Java? было спрошено, что произойдет, если мы напишем Тест t = новый тест(). Как новый оператор будет работать, чтобы выделить память внутри памяти кучи? Могут быть некоторые шаги.Новый оператор Внутреннее распределение памяти в куче
-1
A
ответ
0
Реализация зависит от JVM. Существует ряд возможных результатов.
- Если объект не нужен, его можно устранить, т. Е. Ничего не произойдет.
- Если Escape Analysis обнаруживает, что объект не выходит из метода, он может поместить его в стек. Это распределение происходит, когда кадр запускается, и вся необходимая память зарезервирована за один раз (не для каждого объекта).
- , если у вас есть TLAB (потоковые локальные буферы распределения) (по умолчанию), каждый поток имеет локальный буфер из которые выделяют объекты. Это позволяет параллельно распределять память. Он имеет указатель на следующее свободное пространство в буфере и при добавлении нового объекта принимает указатель и добавляет размер объекта. Он также возвращает нужный объект (и настраивает заголовок объекта). Новые буферы выделены из пространства Eden (за исключением G1, где он получает пустой кусок памяти)
- , если у вас нет TLAB, выделение выполняется непосредственно из пространства eden.
+0
Благодарим за обмен знаниями. @ Peter – Aditya
Смежные вопросы
- 1. новый оператор для распределения памяти на куче
- 2. Внутреннее распределение памяти во время компиляции
- 3. Внутреннее распределение
- 4. C# Распределение памяти в отношении операторов памяти
- 5. Почему распределение памяти в куче MUCH медленнее, чем на стеке?
- 6. Вложенное распределение памяти объекта?
- 7. Распределение памяти в C
- 8. Распределение памяти в C++
- 9. C# распределение памяти
- 10. Внутреннее распределение VB
- 11. Распределение памяти в JVM
- 12. Распределение памяти в OpenGL
- 13. Распределение памяти значений на std :: map
- 14. C++ оператор перегрузки + и динамическое распределение памяти
- 15. Распределение памяти структуры в C
- 16. Распределение памяти на C++: «новый» выбрасывает bad_alloc?
- 17. Динамическое распределение памяти вопрос
- 18. C++ новый оператор - макет памяти
- 19. Распределение памяти в C++
- 20. Динамическое распределение памяти «удалить»
- 21. Строка Создание и массив символов Распределение памяти
- 22. Динамическое распределение памяти
- 23. Распределение памяти объектов класса
- 24. Распределение объектов в стеке или куче
- 25. Распределение членов класса в куче/стеке?
- 26. Распределение памяти в Linux
- 27. Распределение памяти Java static
- 28. Java Vs C++ Распределение памяти
- 29. Распределение динамической памяти осуществляется указателями
- 30. DLL Утечка памяти в куче
http://stackoverflow.com/questions/13926518/what-does-the-new-keyword-do – imoteb
Я понимаю, но не получил подходящих анс, если вы знаете, пожалуйста, пожалуйста. – Aditya
Это НЕ сайт для такого вопроса. – SubliemeSiem