IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Tutoriel pour comprendre les différences entre compilation statique et dynamique


Sujet :

Java

  1. #1
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 947
    Points
    72 947
    Par défaut Tutoriel pour comprendre les différences entre compilation statique et dynamique
    SOAT, société d'expertise et de conseil en informatique, et Matthieu Lefèvre, vous propose un tutoriel pour présenter les deux types de compilation statique et dynamique proposés par le langage Java.

    Voici l'URL du tutoriel : http://soat.developpez.com/tutoriels...que-dynamique/

    Si vous avez des commentaires, profitez de cette discussion

    Merci d'avance

    L'équipe Java

    Retrouver les meilleurs cours et tutoriels pour apprendre Java : http://java.developpez.com/cours/
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Très bon article de vulgarisation pour les gens qui veulent connaître Hotspot

    Détails:
    Tired compilation -> Tiered
    TiredCompilation -> Tiered
    Figure 3 : Cycle de vie du -> il manque la fin "bytecode" d'après l'article de base
    plus de détail) -> détails
    Dead code Elimination -> Dead Code
    StringBufffer -> StringBuffer
    threadSafe -> ThreadSafe
    elision -> Elision
    garbage collector GC -> Garbage Collector (GC)
    plus que de raison -> ne veut rien dire ... plus qu'il ne faille?
    L'analyse de l'échappement -> Pas que je suis contre faire des traductions comme cela mais vous avez écrit "Escape Analysis" au début de la section... faut se décider: est-ce qu'on utilise les mots de la littérature et du monde de la compilation en anglais ou est-ce qu'on les rend français: Note je suis contre les écrire en français dans ce cas: le lecteur ne pourra pas trouver d'information supplémentaire dans ce cas...
    static . -> espace inutile

    Remarques pointilleuses:
    Selon une publication d'Eva Andreasson, le gain est un code jusqu'à dix fois plus performant que celui produit par une compilation C0 -> Très discutable. Si on prend n'importe quel code, on peut avoir une optimisation infinie... dire 10x ici n'est qu'une phrase sans but en fait...

    Cette partie est inutile:
    Objets stockés dans des champs static .
    Objets qui sont des attributs d'un autre objet lui-même sujet à l'échappement.
    Objets créés, retournés ou non à la fin de l'exécution d'une méthode.
    Objets créés à l'intérieur d'une boucle.

    vous ne donnez pas assez de détail pour expliquer qu'en gros le compilateur doit prouver que l'objet est créé mais qu'on peut prouver sa mort et donc qu'on peut virer l'allocation sur le tas...

    Troll possible:
    Techniquement le code montré est incomplet: on ne sait pas ce qu'il se passe dans les appels de fonctions/constructeurs. Il est possible que le code fasse des choses complexes et donc le compilateur ne pourrait rien faire. Je suis pointilleux je sais mais si on suppose qu'on ne sait rien, on ne peut rien faire.

    On peut en discuter longtemps:
    "Dans ces conditions, et en s'appuyant sur les statistiques d'exécution, la JVM peut décider de ne pas vérifier quelle implémentation ou surcharge de la méthode il faut invoquer." -> non la JVM devra très souvent vérifier quelle implémentation il faut invoquer. La dévirtualisation ne se fait que dans certains cas et ce ne sera jamais parce que pendant l'interprétation ou l'exécution en C1 on ne voit pas de destinations multiples. Si on ne peut pas prouver que ce n'est pas virtuel, on aura un grand if avant l'appel qui sera d'un côté rapide et l'autre lent... En gros, cette explication est trompeuse.

    Autre troll:
    "C++... car ce dernier ne peut pas éliminer aussi facilement ce coût de vérification." -> oui car le C++ ne vient pas avec le tiered compilation et la JVM autour...

    Dernier détail :
    "par la compilation JIT" -> inlining peut être fait statiquement aussi. Il se trouve qu'en Java, ce n'est pas fait à cause de la virtualisation...


    Encore une fois, super de voir cela sur developpez.com
    Jc

  3. #3
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    J'ai aussi remarqué l'autre jour que le lien en haut pour commentez sur l'article est le mauvais lien:

    Il va vers:
    http://www.developpez.net/forums/sho....php?t=1451851

    ->

    http://www.developpez.net/forums/d14...mplacer-maven/

  4. #4
    Rédacteur

    Avatar de Mickael Baron
    Homme Profil pro
    Ingénieur de Recherche en Informatique
    Inscrit en
    Juillet 2005
    Messages
    14 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche en Informatique
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2005
    Messages : 14 974
    Points : 72 947
    Points
    72 947
    Par défaut
    Salut,

    Merci pour les commentaires.

    Comme je ne suis pas auteur, j'ai corrigé la partie orthographique. J'ai demandé à l'auteur de venir répondre pour le reste.

    Mickael
    Responsable Java de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Java, consulter la page cours
    N'hésitez pas à consulter la FAQ Java et à poser vos questions sur les forums d'entraide Java
    --------
    Ingénieur de Recherche en informatique au LIAS / ISAE-ENSMA
    Page de Developpez.com : mbaron.developpez.com
    Twitter : www.twitter.com/mickaelbaron
    Blog : mickael-baron.fr
    LinkedIn : www.linkedin.com/in/mickaelbaron
    DBLP : dblp.uni-trier.de/pers/hd/b/Baron:Micka=euml=l

  5. #5
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par Mickael Baron Voir le message
    Salut,

    Merci pour les commentaires.

    Comme je ne suis pas auteur, j'ai corrigé la partie orthographique. J'ai demandé à l'auteur de venir répondre pour le reste.

    Mickael
    Cool

Discussions similaires

  1. Réponses: 0
    Dernier message: 28/11/2015, 16h03
  2. [XL-2007] Fonction pour connaitre les différences entre 2 strings
    Par CaraLePoke dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 20/02/2013, 20h09
  3. Réponses: 4
    Dernier message: 16/04/2008, 11h12
  4. Réponses: 15
    Dernier message: 20/03/2008, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo