Возможно, немного очевидный для некоторых...
Установка Firebug и использование console.log ("привет"). Настолько лучше, чем использование случайного предупреждения (); который я не забываю делать много несколько лет назад.
Объем памяти для загрузки самого класса будет приблизительно соответствовать размеру кода, но код не будет дублироваться для каждого экземпляра класса. Экземпляру потребуется столько памяти, сколько атрибуты экземпляра + некоторые накладные расходы на управление самим экземпляром объекта.
Вот общее руководство по определению использования памяти объектами в Java: http://www.javamex.com/tutorials/memory/object_memory_usage.shtml
Я подозреваю, что использование памяти, вызванное определениями методов, будет фиксированным (возможно, помещенным в пространство permgen при загрузке класса ), а не пропорционально количеству экземпляров.
Вы создадите экземпляр только «переменной» части объектов, то есть только атрибутов (и я думаю, несколько байтов накладных расходов здесь и там). Ваше последнее предположение является правильным.
Попробуйте подключиться с помощью jvisualvm (в JDK) и расскажите нам, что вы видите.