Obter nome do aplicativo java em tempo de execução

Estou tendo um problema. Preciso obter o nome do aplicativo java que está sendo executado em tempo de execução. Alguém sabe como? Obrigado.

Para obter o diretório corrente da aplicação eu consegui utilizando a propriedade user.dir, sendo que obtive uma instância de Properties através da invocação do método System.getProperties().

Acredito que exista algo parecido para obter o nome do aplicativo Java, que está dentro do diretório corrente.

Como assim nome do aplicativo?

Acredito que não tenha como buscar essa informação (Tomara que eu queime a lingua, eehhehe)

O usuário está executando um aplicativo java. Preciso saber a partir de qual arquivo ele está executando o aplicativo.

Por exemplo

Arquivo salvo no diretório c:/app.jar.
Se eu precisar saber o diretório corrente, utilizo a propriedade user.dir, na qual estaria armazenado o valor c:/.
E para obter o nome do aplicativo, que é app.jar, existe alguma propriedade?

Agradeço qualquer ajuda ou opinião que alguém possa fornecer.

Descobri um código para C#:

string name = System.Reflection.Assembly.GetEntryAssembly().FullName;

Com esse método é possível retornar o nome do aplicativo corrente, mas infelizmente é C#.
Será que existe alguma classe no Java que faça algo semelhante?