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

Langage Java Discussion :

Différence(s) JDK entre IBM et Sun ? [FAQ]


Sujet :

Langage Java

  1. #1
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut Différence(s) JDK entre IBM et Sun ?
    Hello,

    Voilà la question est vaste (vague...) mais elle "mérite" éclaircissement à mes yeux : quelle sont les différences PRINCIPALES et/ou la raison d'être du JDK IBM par rapport au JDK Sun ?
    Je dis ça pasque quand on voit par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    /*
     * @(#)src/classes/sov/java/net/URLEncoder.java, net, as1411, 20030925 1.11.2.1
     * ===========================================================================
     * Licensed Materials - Property of IBM
     * "Restricted Materials of IBM"
     *
     * IBM SDK, Java(tm) 2 Technology Edition, v1.4.1
     * (C) Copyright IBM Corp. 1998, 2003. All Rights Reserved
     * ===========================================================================
     */
     
    /*
     * ===========================================================================
     * Copyright 2002 Sun Microsystems, Inc. All rights reserved.
     * ===========================================================================
     */
     
    /*
     * Change activity:
     *
     * Reason  Date   Origin   Description
     * ------  ----   ------   ----------------------------------------------------
     * 004235  310100 hdmaw    EBCDIC
     * 041015  110202 kwb      Remove 4235 optimization
     * 056111  301002 stalleyj Merge 1.4.1 changes 
     */
    on se demande si c'est juste de la recopie avec du tuning par ci par là ou si c'est une réimplémentation complète made in IBM respectant les normes Sun !
    Bref si vous avez un point de vue macroscopique ; je suis preneur.

    A+
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  2. #2
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    pas de point de vue precis, mais disons que la jvm publique d'IBM est en partie basée sur celle de sun, c'est d'ailleurs la raison pour laquelle ils ne peuvent pas la rendre open source.

    ils en ont deux autres : une en java
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://jikesrvm.sourceforge.net/
    bon, la l'objectif c'etait de la recherche (une jvm en java...)

    et une autre qui n'est pas publique d'apres les echanges sur la mailing liste d'harmony.

    En général, les objectifs sont divers (tuning pour un os donné comme aix, os2 etc)

  3. #3
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Donc si jamais je cherche une fonctionnalité en dev, et que je regarde dans la JAVADOC online "officielle" (cf java.sun.com) : c'est garanti par IBM qu'elle se retrouve dans sa JRE et qu'elle respecte scrupuleusement les specs ?!...

    Le but c'est de savoir si je peux faire un travail complet sous une JVM quelconque et le livrer sans aucun problème de compatibilité au déploiement ou à l'exécution, alors que je ne connais pas sa "marque" mais juste sa version (JDK 1.4 par exemple) ?


    merci_davance
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

  4. #4
    Membre confirmé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Points : 645
    Points
    645
    Par défaut
    Citation Envoyé par g_rare
    Le but c'est de savoir si je peux faire un travail complet sous une JVM quelconque et le livrer sans aucun problème de compatibilité au déploiement ou à l'exécution, alors que je ne connais pas sa "marque" mais juste sa version (JDK 1.4 par exemple) ?


    merci_davance
    Malheureusement ce n'est pas garanti.

    Il y avait un post récemment de quelqu'un qui avait une JVM différente qu'il avait eu je ne sais plus trop où. Et juste la concaténation de String posait un problème parce dans cette "version" de JAVA, il y avait un problème avec la classe StringBuilder apparemment.

    Mais bon, dans les faits, IBM ou SUN ça tournera sans problème.
    Je sais que désormais vivre est un calembour,
    La mort est devenue un état permanent,
    Le monde est aux fantômes, aux hyènes et aux vautours.
    Moi je vous dis bravo et vive la mort.

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Satch
    Malheureusement ce n'est pas garanti.
    Si justement : sauf bug bien sûr...
    C'est d'ailleurs pour cela que Microsoft a du retirer sa JVM : elle ne respectait pas l'API de référence...

    Citation Envoyé par Satch
    Il y avait un post récemment de quelqu'un qui avait une JVM différente qu'il avait eu je ne sais plus trop où. Et juste la concaténation de String posait un problème parce dans cette "version" de JAVA, il y avait un problème avec la classe StringBuilder apparemment.
    Ce serait plus un problème de version (StringBuilder n'est apparut que dans Java 5.0).


    Bien sûr il reste conseillé d'utiliser la même JVM que le client lorsque c'est possible

    a++

  6. #6
    Membre chevronné
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Points : 2 011
    Points
    2 011
    Par défaut
    Je crois que le post évoqué par Satch parlait de gcj qui n'est pas une JVM.

    -"Tout ça me paraît très mal organisé. Je veux déposer une réclamation. Je paye mes impôts, après tout!"
    -"JE SUIS LA MORT, PAS LES IMPÔTS! MOI, JE N'ARRIVE QU'UNE FOIS".

    Pieds d'argile (1996), Terry Pratchett 1948 - 2015
    (trad. Patrick Couton)

  7. #7
    Expert éminent

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 813
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 813
    Points : 7 641
    Points
    7 641
    Par défaut
    Citation Envoyé par Descent
    Je crois que le post évoqué par Satch parlait de gcj
    Je confirme... ça se passait là: http://www.developpez.net/forums/sho...d.php?t=140490

    C'était pour une version gcj équivalente à une JVM 5.0, mais évidemment, pas mal de classes ne sont pas implémentées à 100% avec gcj, donc il arrive que ça plantouille un peu...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Mai 2003
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 3 240
    Points : 11 101
    Points
    11 101
    Par défaut
    Citation Envoyé par Satch
    Malheureusement ce n'est pas garanti.

    Il y avait un post récemment de quelqu'un qui avait une JVM différente qu'il avait eu je ne sais plus trop où. Et juste la concaténation de String posait un problème parce dans cette "version" de JAVA, il y avait un problème avec la classe StringBuilder apparemment.

    Mais bon, dans les faits, IBM ou SUN ça tournera sans problème.
    Ce post concernait GCJ si mes souvenirs sont bons. Qui n'est pas certifié TCK. Or la JDK d'IBM est certifiée selon ce TCK.
    Donc, cela devrait marcher, sauf bogues d'implémentations.

    Attention que selon les "marques" des JDK, il peut exister des paramètres différents pour le compilateurs javac et l'exécution java. les fameux -X. Mais les paramètres dits 'standards' doivent être supportés par le JDK quelqu'en soit la provenance.

    Pour ce qui est de Microsoft, le problème n'était pas vraiment qu'ils ne respectaient pas l'API, mais qu'ils l'avaient étendus en rajoutant certains packages et même en rajoutant certaines méthodes à des classes existantes. Or, quand tu livres une JRE, t'es obligé de livrer tout ce qui se trouve dans les packages java.* ou javax.* Et leur implementations. Et t'as pas vraiment le droit de rajouter quelque chose d'autres. Ainsi, IBM ne pourra jamais livrer un JRE avec SWT intégré dedans. Sauf si Sun rend Java Open Source et abandonne ses droits. Mais je ne suis pas sûr que cela serait une bonne chose. Si Sun avait rendu Java Open Source et abandonné ses droits, Java n'aurait plus été portable, vu que Microsoft aurait pu continuer à faire son propre JRE qui n'aurait été compatible qu'avec lui-même. Au moins, maintenant les choses sont clair. Si tu veux faire un semblant de Java qui s'intègre parfaitement à Windows, tu fais du C#. Pas de conflit de nom.

    Aussi, attention que ce qui se trouve dans les packages com.sun ne se trouvent bien évidemment pas dans les JDK d'IBM. Et inversément, dans le JDK d'IBM tu retrouves des packages com.ibm.
    Et la seule chose que peuvent contenir ces packages, sont les implémentations des API Java. Ainsi, tu as l'API Sax ou Dom (jaxax.xml....) qui fait partie de ta JRE. Mais l'impleméntation pourrait être Saxon, ou Xalan, ou un parseur propre à IBM, par exemple. Selon le bon vouloir de celui qui crée sa propre JRE.
    La seule chose qui est demandée, pour ceux qui veulent dire que leur JRE est du Java, c'est que cela doit passer le TCK. Il faut donc que, quelque soit l'implementation, elle réagisse comme l'API l'a prévue.

    Vincent
    Vincent Brabant

    Ne pas me contacter par MP ni par mail pour des questions techniques. Ma liste d'amis restera vide.

    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java

  9. #9
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par vbrabant
    Pour ce qui est de Microsoft, le problème n'était pas vraiment qu'ils ne respectaient pas l'API, mais qu'ils l'avaient étendus en rajoutant certains packages et même en rajoutant certaines méthodes à des classes existantes.
    Oui c'est ce que je voulais dire

    Citation Envoyé par vbrabant
    Ainsi, IBM ne pourra jamais livrer un JRE avec SWT intégré dedans. Sauf si Sun rend Java Open Source et abandonne ses droits. Mais je ne suis pas sûr que cela serait une bonne chose. Si Sun avait rendu Java Open Source et abandonné ses droits, Java n'aurait plus été portable, vu que Microsoft aurait pu continuer à faire son propre JRE qui n'aurait été compatible qu'avec lui-même.
    Je pense qu'on pourrait très bien avoir une JVM et un JDK opensource tout en conservant des spécifications et une API stricte comme actuellement...


    a++

  10. #10
    Membre éclairé Avatar de g_rare
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    608
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 608
    Points : 683
    Points
    683
    Par défaut
    Bon, de toute façon (et je le savais) : le sujet me dépasse !
    Mais comme éclaircissement il y a eu ; je passe le tout en "résolu" pour ne pas polluer le forum...

    Par contre ça ne pourrait pas faire partie de la FAQ Java ???
    car j'ai eu beau Googleliser un max j'ai rien trouver de simple et en français pour expliquer les différences de version et/ou de propriétaire selon les JVM

    Bref sans vouloir interrompre le débat (intéressant d'ailleurs) je propose de tirer les conséquences du fait que cette simple question fait en réalité ressortir les écarts de perception, connaissances, compréhension même chez des membres émérites

    A+
    " Jag blev dömd för fildelning och allt jag fick var en sketen t-shirt. " (tankafritt.nu)
    PAS DE REPONSE PAR MESSAGE PRIVE ! Penser au bouton Résolu en bas de la discussion...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/08/2010, 00h43
  2. API qui donne la différence des données entre 2 classes ?
    Par elitost dans le forum API standards et tierces
    Réponses: 6
    Dernier message: 18/04/2006, 11h07
  3. Réponses: 6
    Dernier message: 06/12/2005, 16h51
  4. [Rave] Différence de langue entre exécution et design
    Par RamDevTeam dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/11/2005, 11h49
  5. Différences d'affichage entre IE et FF
    Par Tot-O dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 22/09/2005, 18h47

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