Тест
Если поле сериализуемого объекта не сериализуемое, это приведет:к тому, что при десериализации для этого поля будет вызван конструктор по умолчанию- к ошибке компилляции
- к исключению в runtime
Для того чтобы исключить поле сериализуемого объекта из процесса сериализации, его надо отметить ключевым словом:
transistent- volatile
- transient
- final
- nonserializable
Что НЕ является минусом использования reflection:
- не работает в окружении с повышенной безопасностью
- разрушение ОО архитектуры
- потеря производительности
- уменьшение защищенности приложения при обработке пользовательских данных
Чтобы сделать объекты класса S сериализуемыми нужно:
- S implements Writable
- S implements Serializable и опеределить в классе S методы read() и write()
- S implements Serializable
Как Reflection может помочь в тестировании?
- можно получить доступ к private полям
- можно создавать объекты без вызова конструктора
- можно убрать или добавить ключевое слово static
У вас есть XML документ с одним единственным тэгом. Сколько callback функций будет вызвано при его обработке?
- 7
- 5
- 1
- 3
Можно ли создать ресурс с параметрами подключения сервера к базе?
- да, можно любые параметры перенести в соответствующие ресурсы.
- нет, можно создавать только ресурсы для объектов игровой механики
Если при создании класса сериализуемых объектов не указать serialVersionUID, он будет посчитан на основе:
- текущего времени
- хэш функции от класса
- хэш функции от объекта
- времени создания класса
SAX парсер отличается от DOM парсера тем, что он:
- загружает документ полностью, независимо от того, сколько в действительности необходимо пользователю
- создает древовидную структуру в памяти из входящего документа и лишь потом ждет запросов от клиента
- не создает иерархической структуры в памяти
- менее требователен к ресурсам и занимаемому свободному месту в случае использования больших входящих документов
Самостоятельная работа 6
Написать ресурсную систему сервера (ResourceFactory).
Все константы, которые использует сервер, вынести в ресурсные xml файлы. Написать классы, объекты которых можно восстановить на основе этих ресурсных xml файлов. Код, который использует константу, должен спрашивать у ResourceFactory объект ресурса по пути к файлу. Например:
ResourceFactory.instance().getResource("./data/Map.xml")
getResource(...) вернет объект по интерфейсу Resource, который вызывающий код может преобразовать в конкретный тип MapResource. MapResource - контейнер констант, которые описывают карты. Для каждой константы в этом классе должен быть get метод.
ResourceFactroy должна быть singleton. С инициализацией при старте сервера. Во время инициализации можно прочитать все ресурсы и закэшировать их объекты по пути к их файлам.