Попробуйте:
jQuery
$('.input_class_checkbox').each(function(){
$(this).hide().after('');
});
$('.class_checkbox').on('click',function(){
$(this).toggleClass('checked').prev().prop('checked',$(this).is('.checked'))
});
Скрипка: http://jsfiddle.net/cn6kn/
Да, он увеличит размер поколения 2, если сможет. Если свободного места больше нет, вы получите исключение OutOfMemoryException
.
Различные поколения сборки мусора связаны не с определенным размером, а с возрастом мусора. Насколько мне известно, ни одно из поколений не имеет ограничений по размеру.
Насколько я понимаю, куча всего одна (по иронии судьбы, она обычно изображается как стек). Объекты переходят в поколение 1 не при заполнении поколения 0, а когда они выживают в коллекции. Вкратце, ссылки не «перемещаются», а местоположение, используемое для определения того, где заканчивается поколение, перемещается.
Когда куча приближается к заполнению, происходит несколько вещей:
Объекты, оставшиеся в живых после сбора, затем перемещаются в поколение 0 (если это их первый цикл сбора) или поколение 2 ( если они уцелели более чем в одной коллекции). Это сделано для эффективности, чтобы гарантировать, что мы не будем постоянно пытаться собирать долгоживущие объекты.
Вы не исчерпываете пространство в определенных для поколения способах. См. Эту статью для хорошего объяснения.