Ви повинні мати деякі знання про те, як працює сміття для Java з двох причин:
По-перше, якщо ви не знаєте, як це працює, то ви можете випадково прийняти дизайнерські рішення, які призводять до найгірших результатів у вашому фактичному застосуванні. Це стає все менше і менш ймовірним, коли GC покращується, але якщо у вашому додатку є вибір алгоритмів, то знаючи щось про GC означає, що ви можете вибрати один із знанням того, що він буде робити, замість того, щоб дізнатися, що це викликає погана поведінка.
По-друге, якщо ви не знаєте, як це працює, ви не зможете налаштувати GC для заданої програми. Більшість програмістів Java ніколи не потребує налаштування GC, оскільки параметри за замовчуванням працюють досить добре більшу частину часу. Якщо ви робите щось, що виходить із цього «більшості часу», то, можливо, ви можете налаштувати параметри GC. Робити це без знання GC - це лише випадковим чином повороти ручки - ви можете отримати щось корисне з цього, але, швидше за все, ви все ще гірше викрутите.
Тож, хоч я і не очікував, що хороший програміст на Java знатиме все про НС про GC, я би сподівався, що програміст на якомусь рівні дізнається, як GC у JVM вони використовують функції та які компроміси для цього Алгоритм ГК.