Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Minimal Size


Автор: Anonym 19.4.2004, 17:39
это вопрос:

у меня есть класс который использует всего 4 импорта:
import com.ms.security.PermissionID;
import com.ms.security.PolicyEngine;
import com.ms.win32.Kernel32;
import java.io.FileOutputStream;

а как я понял при компайле - компилятся все пакеты или че там...я вобщем не силен в Джаве..

так вот как сделать так чтобы комплилилось только нужное а лишнего не было и соответственно уменьшился размер класса?

спасибо

Автор: AntonSaburov 20.4.2004, 10:09
От количества import размер класса не изменится - просто это требует указать дополнительные библиотеки.
А для запуска надо указывать библиотеки все равно. Загрузчик классов сам вытащит все, что надо.

Так что не заморачивай себе голову.

Автор: Anonym 20.4.2004, 17:34
Цитата(AntonSaburov @ 20.4.2004, 10:09)
От количества import размер класса не изменится - просто это требует указать дополнительные библиотеки.
А для запуска надо указывать библиотеки все равно. Загрузчик классов сам вытащит все, что надо.

Так что не заморачивай себе голову.

хорошо, тогда как вообще можно уменьшить размер класса? (паковщики, опции)

Автор: Alone 5.5.2004, 14:30
javac -g:none -O <You_file.java>
-g DebugLevel
-O Optimization

Автор: LSD 6.5.2004, 20:11
Можно уменьшить размер файла путем сокращения полных имен классов и методов. Т.е. максимально короткое имя пакета, и максимально короткие имена классов и методов: a, b, c и т.д. Такой прием часто используется в приложениях для мобильных телефонов.

Автор: DarkDS 6.5.2004, 21:08
Цитата(LSD @ 6.5.2004, 20:11)
Можно уменьшить размер файла путем сокращения полных имен классов и методов. Т.е. максимально короткое имя пакета, и максимально короткие имена классов и методов: a, b, c и т.д. Такой прием часто используется в приложениях для мобильных телефонов.

Нет.
Большинство приложений для мобильников обфускированны. Поэтому имеют имена классов а,в,с и тд.
Обфускация - это процесс "запутывания" класс файлов. То есть удаляется дебаговая информация (то же, что делает javac -g:none) и переименовывает все классы, методы, переменные так, чтобы максимально затруднить декомпиляцию байт кода.
В общем то на этом выгирывается размер, но очень незначительно.

Автор: AntonSaburov 7.5.2004, 09:56
LSD прав - таким образом действительно можно добиться уменьшения размера файла .class. И в случае, когда памяти мало, такой прием может помочь.
Но и DarkDS тоже прав - обфускатор действительно такие штуки вытворяет, но выигрышь будет вряд ли очень значительный.

Но информация настолько профессиональна, что не удержался - обоим по звезде smile.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)