J'entends toujours parler de toutes les nouvelles fonctionnalités qui sont ajoutées à la JVM et l'une de ces fonctionnalités est invokedynamic. Je voudrais savoir ce que c'est et comment est-il réfléchissant de la programmation Java, la plus facile ou mieux?
Réponses
Trop de publicités?C'est une nouvelle JVM de l'instruction qui permet au compilateur de générer du code qui appelle des méthodes avec un looser spécification de ce qui était auparavant possible-si vous savez ce que "duck typing" est, invokedynamic permet essentiellement de duck-typing. Il n'y a pas trop de vous en tant que programmeur Java peut faire avec elle; si vous êtes créateur, bien que, vous pouvez l'utiliser pour construire plus souple, plus efficace JVM à base de langues. Ici est vraiment un doux billet de blog qui donne beaucoup de détails.
Il y a quelques temps, C# ajout d'une fonctionnalité sympathique, dynamique de la syntaxe de C#
Object obj = ...; // no static type available
dynamic duck = obj;
duck.quack(); // or any method. no compiler checking.
Il pense que la syntaxe de sucre pour les appels de méthode. Il peut y avoir des applications intéressantes. voir http://www.infoq.com/presentations/Statically-Dynamic-Typing-Neal-Gafter
Neal Gafter, qui est responsable de C#de type dynamique, seulement défection de SOLEIL à MME de Sorte qu'il n'est pas déraisonnable de penser que la même chose avait été discuté à l'intérieur du SOLEIL.
Je me souviens peu de temps après, certaines Java mec a annoncé quelque chose de similaire
InvokeDynamic duck = obj;
duck.quack();
Malheureusement, la fonctionnalité n'est pas le cas à être trouvés dans Java 7. Très déçu. Pour les programmeurs Java, ils n'ont pas de moyen facile de profiter de l' invokedynamic
dans leurs programmes.