Здравствуйте, Donz, Вы писали:
D>Пишу на J2ME. Сейчас встал вопрос оптимизации. Конкретно — есть класс, для приложения нужен только один объект этого класса. Есть ли смысл все его члены обяъвить статическими? D>Как вообще происходит загрузка классов и их членов в память (для динамики и статики), где об этом можно почитать?
Сначала classloader загружает в память байт-код класса, выделяет память под статические переменные и инициализирует их (статичесий конструктор).
При создании экземпляра класса выделяется память под нестатические поля (и вызвается конструктор).
При таком описании проблемы я бы попробовал использовать шаблон Singleton, хотя если можно точно определить точку, когда использование класса больше не является необходимым, то можно и просто за'null'ить все статические поля.
Так как код класса будет всё время висеть в памяти, то относительная разница между этими двумя вариантами будет, скорее весего, незначительной, но использование singleton'а делает обращение к нужным полям более явным.
Хотя есть встречный вопрос — если данный класс используется один раз и только при старте приложения, то действительно ли он нужен?