Como executar classes externas a uma aplicação

Pessoal boa tarde.

Eu trabalho numa empresa de software que não usa Java mas tem uma funcionalidade aqui que eu acho bem legal e queria aprender como fazer em Java.

O aplicativo criar, toda vez que é inicializado, um diretório no PC e baixa todas as classes que estão no banco de dados, por exemplo se eu fiz minha aplicação e depois que finalizei por exemplo se quiser adicionar outra funcionalidade no programa basta eu criar uma classe com essa nova função e subir no banco de dados, daí toda vez que o sistema é iniciado, ele baixa todas as classes do banco e as inicializa.

Na minha empresa eles compactam todas as classes e sobem no banco ai minha duvida é como subo esses arquivos no banco e depois como faço para salvar no PC e instancia-las???

Desde já obrigado a todos.

Cara pra que dar essa volta toda…
Se é para manter a aplicação atualizada…
baixa apenas o JAR da versão mais recente e roda ele … ao inves de baixar as classes !

Mas pode ser um estudo interessante.
Dica: você pode baixar as classes para um diretório que esteja dentro do seu classPath.

dai na sua aplicação para instanciar as classes você pode usar.

Class klass = Class.forClass("br.com.empresa.Nome"); klass.newInstance();

Da uma estudada em reflection…

Para usar o Class.forClass(), eu preciso do nome da classe, como eu faço para deixar isso dinamico, por exemplo, quero intanciar todas as classes do classPath do package teste.teste que seu nome for iniciado por GM???

Valeu pela dica do reflection, me ajudou muito.

Você pode deixar o nome das classes no Banco… ou
Fazer uma listagem dos arquivos que terminam com o nome *.class no diretório onde você ira baixar essas classes do servidor…
se não souber fazer isso procura sobre manipulação de arquivos em Java e da uma lida na documentação da classe File.