.Net против сборщика мусора Java
Это просто добавить к отличному c#-language ответу ShuggyCoUk. .NET GC csharp также использует так называемую garbage-collection кучу больших объектов (LOH). CLR garbage-collection предварительно выделяет группу jdk объектов на LOH, и все выделенные javax пользователем объекты размером c#.net не менее 85000 байт также c#-language выделяются на LOH. Кроме garbage-collection того, double[]
из 1000 или более javax элементов также выделяется core-java на LOH из-за некоторой внутренней jdk оптимизации.
LOH обрабатывается jre иначе, чем кучи поколений, разными c-sharp способами:
- Он очищается только во время полного сбора и никогда не уплотняется, как кучи поколений.
- Распределение из LOH выполняется через свободный список, подобно тому, как
malloc
обрабатывается во время выполнения C, тогда как выделение из кучи поколений по существу выполняется простым перемещением указателя в поколении 0.
Я не знаю, есть oraclejdk ли в JVM что-то подобное, но gc это важная информация о том, как c# обрабатывается память в .NET, так jdk что, надеюсь, вы найдете openjdk ее полезной.
c#
java
garbage-collection
.Net против сборщика мусора Java
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.