Насколько уменьшился размер скомпилированного js за счет использования конкретных классов вместо интерфейсов

Я читал, что для GWT указываются методы для возврата конкретной реализации, например:

public ArrayList<String> getList();

вместо обычно -предпочитаемого "абстрактного интерфейса", например:

public List<String> getList();

приводит к тому, что GWT создает скомпилированный файл javascript меньшего размера, потому что код клиента (, т.е. js ), не должен обслуживать все известные реализации интерфейса (в примере List, клиентский код будет должен иметь возможность обрабатывать LinkedList, ArrayList, Vectorи т. д. ), поэтому он может оптимизировать js, не компилируя неиспользуемые реализации.

Мои тесно связанные -вопросы::

  • Это правда? (следующие вопросы предполагают, что это верно)
  • Выполняется ли оптимизация для класса -, использующего интерфейсы, или для каждого приложения? то есть
  • Вижу ли я выгоду, просто рефакторинг одного класса? или
  • Я вижу выгоду только после того, как все клиентские классы будут реорганизованы, чтобы не использовать интерфейсы?
5
задан Bohemian 20 August 2012 в 03:27
поделиться