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 :

Présentation de Java SE 7


Sujet :

Langage Java

  1. #1
    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 Présentation de Java SE 7
    Voici un aperçu des principales nouveautés de Java SE 7, avec notamment :

    • les évolutions du langage apporté par le projet Coin
    • le support des langages dynamiques
    • de nouvelles APIs d'entrées/sorties (NIO.2)
    • et bien plus encore...

    Bonne lecture : http://adiguba.developpez.com/tutoriels/java/7/

    Et vous ? Avez-vous migrer vers Java 7 ? Pensez-vous le faire ?
    Que vous inspire cette nouvelle version de la plateforme Java ?

    a++

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 072
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 072
    Points : 7 974
    Points
    7 974
    Par défaut
    Je sent que mon après midi productive va être remplacée par une petite lecture ...

    Merci pour l'article.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 545
    Points : 21 601
    Points
    21 601
    Par défaut
    *Sifflement admiratif*

    Eh ben t'a pas fait les choses à moitié, ça c'est une présentation de nouveaux features, claire, précise, abordant tous les sujets à ma connaissance, et en français.

    Que dire ? Bon boulot. Vraiment bon boulot.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Membre du Club
    Homme Profil pro
    Autodidacte
    Inscrit en
    Décembre 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Autodidacte

    Informations forums :
    Inscription : Décembre 2005
    Messages : 30
    Points : 46
    Points
    46
    Par défaut
    Exactement ce que je cherchais... Une bonne synthèse exhaustive et en plus accessible au béotien...

    Un seul mot : Merci !

  5. #5
    Membre actif Avatar de rushtakn
    Inscrit en
    Mai 2006
    Messages
    213
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 213
    Points : 240
    Points
    240
    Par défaut
    Excellent article. Merci pour le travail de synthèse.

  6. #6
    Rédacteur
    Avatar de thierryler
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    4 078
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 4 078
    Points : 12 815
    Points
    12 815
    Par défaut
    Merci pour ce bon article, avec une super présentation.
    Thierry Leriche-Dessirier
    Consultant Java JEE Web Agile freelance
    Rédacteur pour Developpez
    Professeur de Génie Logiciel à l'ESIEA

    Site : http://www.icauda.com / Linked'in : http://www.linkedin.com/in/thierryler / Twitter : @ThierryLeriche

  7. #7
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Mars 2006
    Messages
    58
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 58
    Points : 73
    Points
    73
    Par défaut
    Très bon article. Merci.
    Dans ingénieur il y a génie. Alors prouvez le !

  8. #8
    Modérateur

    Homme Profil pro
    Développeur java, access, sql server
    Inscrit en
    Octobre 2005
    Messages
    2 705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur java, access, sql server
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 705
    Points : 4 783
    Points
    4 783
    Par défaut
    Merci beaucoup
    J'ai bien apprécié la partie java.nio.file qui va me faciliter l'existence
    (l'encodage de caractères avec la classe FileWriter est une vraie purge)

    La transparence va mettre un coup de neuf à mes écrans

    Vraiment une bonne présentation
    Labor improbus omnia vincit un travail acharné vient à bout de tout - Ambroise Paré (1510-1590)

    Consulter sans modération la FAQ ainsi que les bons ouvrages : http://jmdoudoux.developpez.com/cours/developpons/java/

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 31
    Points : 33
    Points
    33
    Par défaut
    Merci pour ce superbe article de qualité !

    Enfin de l'améliorer encore, j'ai noté quelques coquilles :

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut Partie try-with-resources
    Bonjour,

    Je viens de lire une partie de votre article et vous remercie de cette initiative qui permet de nous immerger rapidement dans cette version 7.

    Dans la partie "try-with-resources", j'ai noté le fait qu'
    Il faut malgré tout continuer de se méfier des encapsulations de flux. En effet si l'un des flux génère une exception, le flux qu'il encapsule ne sera pas visible par le try-with-resources et il ne pourra donc pas être fermé correctement
    et vous prenez pour exemple le code suivant :
    try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("file")))
    Or ObjectInputStream est un décorateur, sa méthode close() a aussi la responsabilité de fermer les flux qu'elle décore.

    J'ai regardé rapidement le code de ces méthodes et il me semble bien que cela soit le cas.

    Dans cette exemple, le try-with-resources ferme bien toutes les ressources. A moins que je fasse fausse route ?

  11. #11
    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
    Salut,

    Citation Envoyé par zann12 Voir le message
    Or ObjectInputStream est un décorateur, sa méthode close() a aussi la responsabilité de fermer les flux qu'elle décore.
    C'est tout à fait vrai, et le code suivant est correct la plupart du temps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    try (ObjectInputStream ois = new ObjectInputStream(new FileInputStream("file"))) {
     
    }
    Mais pour que la méthode close() soit exécutée, il faut que l'objet ObjectInputStream soit créé correctement.
    Or le constructeur d'ObjectInputStream effectue une opération de lecture afin de lire le header propre à la sérialisation Java.
    Du coup lorsque le fichier n'est pas au bon format, on a une exception StreamCorruptedException qui est remontée à la création de l'ObjectInputStream.

    Mais si l'instance de ObjectInputStream n'a pas pu être créé, elle ne pourra pas être fermée par le try-with-ressource, et le FileInputStream sera alors perdu...

    En séparant les deux flux, tu es sûr de bien les fermer quoi qu'il arrive :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    try (FileInputStream fs = new FileInputStream("file");
        ObjectInputStream ois = new ObjectInputStream(fs)) {
     
    }
    Si "ois" ne peut pas être créé, "fs" sera quand même fermé.



    Cela semble anodin mais ca peut être très problématique dans une appli serveur destiné à traiter de grosse quantité de données...


    a++


    PS : @loicdvi Merci de vos remarques. Je vais modifier l'article dès que possible.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 5
    Points : 6
    Points
    6
    Par défaut
    Je vous remercie pour vos précisions
    Je prends note.

    Bonne soirée

  13. #13
    Futur Membre du Club
    Inscrit en
    Juin 2008
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    Super présentation,

    juste une remarque :
    j'ai essayé l'exemple du Phaser avec un nombre super grand de Thread. Genre 2000 (ouai, je suis un ouf malade).
    (adiguba.developpez.com/tutoriels/java/7/#IdTitreCode-d0e10163)

    Du coup, l'ordre des étapes n'est plus bon

    Avec un nombre de thread connu, il vaut mieux faire tous les register avant de les lancer.

  14. #14
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 545
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 545
    Points : 21 601
    Points
    21 601
    Par défaut
    Hello Akhlo,

    ou alors, on s'inspire de la JavaDoc de Phaser : le thread qui crée les autres threads s'enregistre lui aussi, et chaque thread créé commence par appeler arriveAndAwaitAdvance(), ce qui fait donc que tous les threads créés attendent que le thread créateur l'appelle aussi.
    Quand le thread créateur a fini de créer tous les threads, il appelle arriveAndDeregister(), ce qui libère tous les autres, et fait en sorte qu'ils ne l'attendent plus.

    Cela marche, qu'on connaisse ou non le nombre de threads.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Présentation des nouveautés de Java 5.0 Tiger (J2SE 1.5)
    Par christopheJ dans le forum Langage
    Réponses: 43
    Dernier message: 30/09/2007, 18h38
  2. Présentation Java
    Par CNoob dans le forum Langage
    Réponses: 3
    Dernier message: 28/02/2006, 19h01

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