Si le démarrage rapide est votre objectif, Java sur un PC n'est peut-être pas votre meilleur choix. Cela va prendre quelques secondes parce que c'est le temps qu'il faut pour charger la VM à partir du disque. Si vous voulez que votre application démarre plus rapidement, il est facile d'obtenir un écran de démarrage, il suffit de créer un module qui ne charge que votre écran de démarrage, attend qu'il s'affiche complètement puis utilise la réflexion pour relier votre "Real" module.
(Utilisez la réflexion car sinon, elle va insérer l'ensemble de votre programme à travers les références avant de démarrer la principale - du moins c'est comme ça que ça fonctionnait).
Si vous parlez des performances d'exécution, vous ne serez pas plus rapide en changeant de langue, Java est aussi rapide que possible. Vous pourriez être en mesure d'obtenir un coup de pouce en convertissant en C/C++ et de le réécrire pour convenir à ces plateformes (Moins d'OO, allocations de pile au lieu de heap, etc.), sinon aucune des autres langues d'usage général n'est proche de Java .
Si vous avez vraiment besoin du démarrage rapide, il se peut qu'il y ait quelques astuces en fonction de ce que vous faites. J'ai vu des projets qui essayaient de garder une machine virtuelle Java en cours d'exécution dans votre barre d'outils et vous permettaient de faire des demandes (dites-lui de démarrer une application). Ceci était plus rapide mais nécessitait des exigences supplémentaires de l'utilisateur (Chargement de cet outil supplémentaire)
Une autre possibilité - si vous démarrez/arrêtez de petites tâches en permanence et que c'est la raison pour laquelle la startup vous dérange alors vous pouvez certainement l'accélérer en le laissant fonctionner de manière invisible. Ayez juste votre application Java ouvrir un socket et écoutez les commandes puis créez un petit script .EXE ou shell qui peut démarrer votre programme s'il n'est pas en cours d'exécution ou envoyer des commandes à ce socket si c'est le cas. Cela éliminerait complètement les startups après la première exécution.
De quel type de programme java s'agit-il ici, bureau, application web? Est-ce réellement Java qui est le problème ou est-ce juste votre programme? – willcodejavaforfood
Testez-le avec un profiler pour savoir à coup sûr –
Il s'agit d'une application Web, mais je ne peux pas en dire beaucoup à ce sujet. Sur java 5, si vous n'avez rien d'autre qu'une classe principale avec la méthode principale et println, il faut encore un moment pour que println écrisse à l'écran (où vous pouvez l'obtenir instantanément avec echo' ou 'date' ou d'autres commandes). La question de la mémoire n'est pas aussi importante que la question du temps de démarrage. –