Есть ли какие-либо плагины для Java-апплетов? - PullRequest
5 голосов
/ 20 декабря 2008

У нас есть большое Java-приложение, которое запускается как апплет или Java Web Start. И это растет все больше и больше. Типичному пользователю нужна только небольшая часть классов. Поскольку Java не знает, какой класс он может найти в каком файле JAR, он загружает все файлы JAR, пока не найдет класс. Если он загрузит несуществующий класс (например, пакет ресурсов), он загрузит все файлы JAR. Это сокращает время запуска на очень большой полосе пропускания.

Существует ли небольшая платформа, с помощью которой мы можем загружать плагины только при необходимости? Или лучше если надо и на заднем плане?

Конечно, фреймворк не должен задерживать время старта самостоятельно из-за его большого размера.

Я думаю, что для загрузки следует использовать URLClassLoader.

Ответы [ 3 ]

2 голосов
/ 22 декабря 2008

Я слышал, что вы можете реализовать пользовательские загрузчики классов, и я видел учебники по этой теме. При этом вы сможете более точно контролировать то, что загружается. Извините, я сам не пробовал.

1 голос
/ 21 декабря 2008

Это не прямой ответ на ваш вопрос, но вы можете уменьшить медленную загрузку, используя Pack200 , чтобы значительно уменьшить размер ваших файлов JAR. Ранее я писал о том, насколько это эффективно.

Кроме этого, я бы согласился с предложением asalamon74 использовать отложенную загрузку файлов JAR.

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

0 голосов
/ 20 декабря 2008

Я думаю (без jnlp я не уверен) вы уже используете свойство загрузки:

<jar href="sound.jar" download="lazy"/>

Поскольку webstart не имеет информации о содержимом фляги, я предполагаю, что он загружает их все, если класс отсутствует.

Хотя я никогда не пробовал, но есть тег <package>, где вы можете дать некоторые подсказки веб-старту, где искать классы. Проверяет эту (очень короткую) документацию.

...