<link rel='stylesheet' src='something.css' media='print'>
И в той таблице стилей, скройтесь (дисплей: ни один), или делают то, что Вы хотите с thead и tfoot элементами. Если таблица динамично сгенерирована, можно проверить ее размер с JavaScript и применить соответствующий класс в той таблице стилей печати.
Согласно исходному коду , он использует класс PhantomReference . Согласно документации:
Фантомные ссылочные объекты, которые ставятся в очередь после того, как сборщик определяет, что их референты в противном случае могут быть возвращены. Фантомные ссылки чаще всего используются для планирования предварительных действий по очистке более гибким способом, чем это возможно с механизмом финализации Java.
Если сборщик мусора определяет в определенный момент времени, что референт фантома ссылка является фантомной достижимой, тогда в это время или позже она будет помещена в очередь.
Чтобы гарантировать, что восстанавливаемый объект остается таким, референт фантомной ссылки не может быть получен: метод get объекта фантомная ссылка всегда возвращает ноль.
В отличие от мягких и слабых ссылок, фантомные ссылки не удаляются автоматически сборщиком мусора, поскольку они помещаются в очередь. Объект, доступный через фантомные ссылки, останется таковым до тех пор, пока все такие ссылки не будут очищены или сами не станут недоступными.
Конструктор PhantomReference
принимает два аргумента:
референт
- объект, на который будет ссылаться новая фантомная ссылка
q
- очередь, в которой должна быть ссылка зарегистрировано, или null, если регистрация не требуется
Аргумент q
является экземпляром класса ReferenceQueue
. PhantomReference
будет добавлен к этой ReferenceQueue
, когда его референт
станет фантомно достижимым. Когда это произойдет, вы можете получить PhantomReference
с помощью методов poll ()
или remove ()
класса ReferenceQueue
.
Например, :
T objectToWatch = ...;
ReferenceQueue<T> referenceQueue = new ReferenceQueue<T>();
new PhantomReference<T>(objectToWatch, referenceQueue);
// Later on, probably in another thread...
Reference<? extends T> nextReference = referenceQueue.remove();
// Tidy up!
Примечание: PhantomReference
имеет родственные классы с именами SoftReference
и WeakReference
, которые также могут быть полезны. Отношения между ними описаны в документации пакета java.lang.ref .
Не уверен, что это действительно ответ на ваш вопрос, но метод finalize () объекта вызывается до того, как его ресурсы будут освобождены.
Изменить: Это означает, что вы можете отправить сообщение другому объекту, чтобы предупредить его, или чему-то в этом роде.