Précédent   Forum du club des développeurs et IT Pro > Java > Général Java
Général Java Java SE, Java ME, APIs, Persistance, JDBC, Spring, XML. Avant de poster -> FAQ Java, Sources Java
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 07/07/2011, 13h48   #1
lunatix
Rédacteur/Modérateur
 
Avatar de lunatix
 
Homme julien
Architecte technique
Inscription : novembre 2002
Messages : 1 910
Détails du profil
Informations personnelles :
Nom : Homme julien
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Architecte technique

Informations forums :
Inscription : novembre 2002
Messages : 1 910
Points : 3 323
Points : 3 323
Envoyer un message via ICQ à lunatix Envoyer un message via AIM à lunatix Envoyer un message via MSN à lunatix
Par défaut Le 7/7 c'est Java 7

Java 7 Update 1 corrige l'incompatibilité avec Apache Lucene et Solr
Due à une optimisation défectueuse du compilateur JIT

Mise à jour du 27 octobre 2011 par Idelways


Une anomalie découverte quelques jours avant la sortie de Java 7, et laissée pour compte par manque de temps, vient d'être écartée.

Oracle sort l'Update 1 de Java 7 qui corrige l'optimisation défectueuse du compilateur Hotspot, responsable de boucles potentiellement erronées, pouvant produire des résultats de calculs incorrects, ou faire crasher la JVM à l'exécution.

Cette anomalie touchait notamment Apache Lucence, le célèbre moteur de recherche en full TEXT, ainsi que son sous-produit Solr.

Oracle a sortie cet Update il y a quelques jours, mais n'a mis à jour qu'aujourd'hui les statuts des trois rapports du compilateur "JIT [Just in Time] et les bogues de boucle" signalés par la fondation. D'autres bogues relatifs, découverts en interne, ont été corrigés.

Uwe Schindler, un contributeur du projet confirme après des tests que l'anomalie a bien été résorbée. Il n'a cependant pas précisé si l'utilisation des flags -XX:+OptimizeStringConcat et -XX:+AggressiveOpts reste toujours recommandée.


Télécharger Java 7u1

Source : Oracle, blog d'un contributeur à Apache




Un bogue sur Java 7 paralyse Apache Lucene et Solr
Une optimisation défectueuse du compilateur Hotspot incriminée

Mise à jour du 1 août 2011 par Idelways


Un sérieux bogue vient d'être dévoilé suite au lancement final de Java 7. Il entrave le fonctionnement de deux projets de la fondation Apache, notamment Lucene, le célèbre moteur de recherche en full-text.

Le problème se situe plus précisément au niveau du compilateur Hotspot qui intègre un optimisateur défectueux, capable de créer des boucles potentiellement erronées.
Par conséquent, la machine virtuelle Java peut planter à l'exécution, ou produire des résultats de calculs incorrects.

Pour Lucene, ce bogue risque de corrompre l'index, plus particulièrement sur la version qui embarque le PulsingCodec.

L'autre projet phare de la fondation Apache affecté par ce bogue est Solr, le moteur de recherche issu de la bibliothèque Lucene sus-citée.

Oracle aurait découvert ce bogue 5 jours avant la sortie de Java 7 en version définitive, mais aurait préféré reporter sa correction au deuxième « service release » de Java 7, le premier étant réservé à la correction des bogues de sécurité, sauf changement de planning.

En attendant, les utilisateurs des deux projets doivent temporiser avant de passer à Java 7 en production ou l'utiliser avec l'option -XX:-UseLoopPredicate qui désactive l'optimisation et met ainsi l'index Lucene à l'abri.

Un bogue similaire peut surgir sur Java 6 avec les flags -XX:+OptimizeStringConcat et -XX:+AggressiveOpts qui activent des optimisations Hotspot par défaut désactivées.

Trois rapports de bogues ont été admis par Oracle, l'un de faible priorité et les deux autres de priorité modérée.
De pareils dysfonctionnements n'ont pas encore été signalés sur des produits autres que ceux de la fondation Apache.

Pour plus d'informations sur les nouveautés de Java 7, lire ci-dessous.


Source : avertissement de la fondation Apache

Et vous ?

Qu'en pensez-vous de ce bogue ? L'avez-vous rencontré ?



Java 7 disponible en version finale
Oracle publie son environnement d'exécution et le JDK 7

Mise à jour du 29/07/11, par Hinault Romaric

Après plus de quatre ans depuis la sortie de Java 6, Oracle vient de publier la version finale de Java Runtime Environment (JRE) 7.

Cette version est la première de Java SE publiée depuis la reprise du langage par Oracle suite au rachat de SUN.

Java SE 7 apporte un support pour un bon nombre de tendances qui ont déferlé dans le monde du développement informatique depuis la publication de la dernière version. Il offre une prise en charge amélioré des langages dynamique conçus pour fonctionner sur la machine virtuelle Java comme Scala et Groovy.

Java SE 7 embarque une API permettant de simplifier l’exécution d’un programme à travers des processeurs multi-cœurs. Et plusieurs autres nouveautés importantes (lire-ci avant).

Le nouveau Runtime Java 7 peut-être utilisé par les développeurs avec les environnements de développement NetBeans ou encore IntelliJ IDEA 10.5. Oracle a annoncé qu’il publiera avant la fin de l’année une mise à jour de son EDI JDeveloper pour un support de Java 7.

Le Runtime Java 7 est disponible pour les systèmes d’exploitations Linux, Solaris et Windows 32 bits et 64 bits.

Oracle a également annoncé la disponibilité de la version finale du Kit de Développement de Java 7 (JDK7),

Télécharger Java 7 sur le site d'Oracle

Télécharger JDK 7 sur le site d'Oracle


La RC de Java 7 est disponible
nio2, coin, javadoc et autres nouveautés

Enfin ! Plus de quatre ans après la dernière version majeure de Java, Oracle vient d'annoncer la disponibilité de Java 7 en Release Candidate.
Oracle relance enfin l'évolution de la plate-forme phare qu'est Java qui avait été ralentie par la sortie de JavaFX 1.X et ensuite par le rachat de Sun par Oracle.

Les nouveautés, si elles sont moins nombreuses qu'initialement espérées (un bon nombre ont été repoussées pour Java 8) sont tout de même importantes. Nous allons en faire un rapide tour d'horizon.

Le Projet Coin va apporter des nouveautés au cœur du langage.
Nio2 Le gros morceau à avaler car cela va remplacer l'antique java.io.File (qui reste cependant présent) par une API beaucoup plus moderne et complète. La plupart de ces nouveautés se trouvent dans le package java.nio.File
  • Détection de modification de fichiers grâce à la classe WatchService
  • Une toute nouvelle API de manipulation de fichiers.
  • Gestion des E/S asynchrones
  • Enfin une copie de fichier simple
    Code :
    1
    2
    3
    4
    FileSystem default = FileSystems.getDefault();
    Path source  = default.getPath("pets/cat.txt");
    Path target  = default.getPath("nicePets/nicecat.txt");
    Files.copy(source, target);
  • Un support complet des liens physiques et symboliques (si le système de fichier les supporte).
  • Une gestion propre des erreurs, via des exceptions.
  • Un API complète pour l'accès aux attributs des fichiers, qui supporte les fonctionnalités de chaque système (DOS et Posix) ainsi que la gestion des utilisateurs (propriétaire et liste ACL). Le tout parfaitement extensible pour supporter d'autres systèmes de fichiers via des providers. D'ailleurs ce dernier point se concrétise en standard par l'intégration du filesystem "ZIP" qui permet de traiter un fichier ZIP comme un système de fichier standard (ou presque).
    Ainsi pour extraire un fichier d'un ZIP on peut faire ceci (noter l'utilisation du try-with-resource) :
    Code :
    1
    2
    3
    4
    5
    try (FileSystem zip = FileSystems.newFileSystem(Paths.get("file.zip"), null)) {
        Path source = zip.getPath("pets/cat.txt");
        Path target = Paths.get("nicePets/nicecat.txt");
        Files.copy(source, target);
    }

invokeDynamic : Une amélioration de la JVM pour les langages dynamiques (Groovy par exemple) mais qui sera utilisable directement en Java via l'API java.lang.invoke. CGlib et JavaAssist vont sûrement beaucoup évoluer.

Concurrency and collections updates (jsr166y) : pour améliorer vos programmes multi-threadés avec la classe ForkJoinPool

Plus anecdotique mais quand même bien sympathique :

un nouveau look beaucoup plus moderne pour la javadoc :



Et enfin, toute l'API est pleine de petites nouveautés. Par exemple, la nouvelle classe Objects que vous pouvez découvrir avec Adiguba.

L'annonce sur le site d'oracle
Télécharger Java 7 sur le site d'Oracle
La liste officielle des nouveautés
__________________
Blog blog = new MyBlog();
lunatix est déconnecté   Envoyer un message privé Réponse avec citation 160
Vieux 07/07/2011, 14h03   #2
Lady
Membre éprouvé
 
Avatar de Lady
 
Femme
Développeur Java
Inscription : mars 2003
Messages : 561
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations professionnelles :
Activité : Développeur Java
Secteur : Santé

Informations forums :
Inscription : mars 2003
Messages : 561
Points : 440
Points : 440
Y a certaines des fonctionnalités j'en rêve depuis des années !!

En fait c'est "rigolo" 2 de ces nouvelles fonctions j'en aurais eu cruellement besoin pas plus tard que lundi dernier ...

Bon en même temps avant que le projet sur lequel je suis passe en java 7 j'ai un peu de temps.
__________________
(Bio)informaticienne folle ... MOUWAWAWAWA
Geekette fan de Marcus et de Nolife !!
Jeune Maman
Lady est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/07/2011, 14h57   #3
alexismp
Membre Expert

 
Avatar de alexismp
 
Homme Alexis Moussine-Pouchkine
Inscription : janvier 2005
Messages : 1 503
Détails du profil
Informations personnelles :
Nom : Homme Alexis Moussine-Pouchkine

Informations forums :
Inscription : janvier 2005
Messages : 1 503
Points : 1 774
Points : 1 774
C'est pour l'instant la Release Candidate qui est disponible (build 147). La version finale c'est pour la fin du mois.
(Juillet)
(2011!)
__________________
http://alexismp.wordpress.com
alexismp est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 15h23   #4
bhamp0
Membre confirmé
 
Homme Benjamin
Consultant informatique
Inscription : août 2007
Messages : 160
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 160
Points : 242
Points : 242
Enfin pourrait-on dire !

Par contre, y'a 2 "fonctionnalités" qui me rebutent un peu :

*Underscores in numeric literals
Code :
1
2
3
int one_million = 1_000_000;
//plutôt que
int one_million = 1000000;
--> argh mais quelle horreur !
Il manquerait plus qu'il nous fasse en Java8 la possibilité d'utiliser des chiffres pour nommer des constantes et on y verra plus rien !

* try-with-resources statement
Code :
1
2
3
4
5
6
7
8
9
10
BufferedReader br = new BufferedReader(new FileReader(path));
try {
   return br.readLine();
} finally {
   br.close();
}
//pourra s'ecrire :
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
   return br.readLine();
}
--> super, l'exemple nous fait perdre le close() sur notre BufferedReader !!
Avec le try-with-resource, on peut ajouter des catch et finally (et donc l'exemple est un poil naze là-dessus) ou même pas ?
bhamp0 est déconnecté   Envoyer un message privé Réponse avec citation 24
Vieux 07/07/2011, 16h20   #5
Calmacil
Futur Membre du Club
 
Homme
Développeur Web
Inscription : avril 2011
Messages : 28
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Développeur Web
Secteur : Service public

Informations forums :
Inscription : avril 2011
Messages : 28
Points : 16
Points : 16
Je peux me tromper, mais si le try-with-resource ressemble a celui que je connais en python, le finally devient optionnel: les ressources ouvertes par le try sont automatiquement fermées a la sortie du bloc!
Calmacil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 16h28   #6
Niark13
Membre éprouvé
 
Inscription : mai 2005
Messages : 226
Détails du profil
Informations forums :
Inscription : mai 2005
Messages : 226
Points : 426
Points : 426
Pour les constantes binaires et les underscores dans les littéraux, j'utilise ces deux fonctionnalités depuis quelques années en D et j'avais de plus en plus de mal à m'en passer en Java.
Niark13 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/07/2011, 16h43   #7
Uther
Expert Confirmé Sénior
 
Avatar de Uther
 
Homme
Inscription : avril 2002
Messages : 2 688
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 2 688
Points : 5 141
Points : 5 141
Citation:
Envoyé par bhamp0 Voir le message
*Underscores in numeric literals
Code :
1
2
3
int one_million = 1_000_000;
//plutôt que
int one_million = 1000000;
--> argh mais quelle horreur !
Il manquerait plus qu'il nous fasse en Java8 la possibilité d'utiliser des chiffres pour nommer des constantes et on y verra plus rien !
Ce qui est horrible dans l'exemple, c'est surtout d'utiliser les underscores dans les noms de variable alors que Java recommande d'utiliser les majuscules pour démarquer les mots.
Mais à mon avis, les underscores à l’intérieur d'un chiffre peuvent le rendre bien plus lisible. C'est même limite indispensable avec les littéraux binaires.

Citation:
Envoyé par bhamp0 Voir le message
* try-with-resources statement
Code :
1
2
3
4
5
6
7
8
9
10
BufferedReader br = new BufferedReader(new FileReader(path));
try {
   return br.readLine();
} finally {
   br.close();
}
//pourra s'ecrire :
try (BufferedReader br = new BufferedReader(new FileReader(path)) {
   return br.readLine();
}
--> super, l'exemple nous fait perdre le close() sur notre BufferedReader !!
Avec le try-with-resource, on peut ajouter des catch et finally (et donc l'exemple est un poil naze là-dessus) ou même pas ?
Justement! L'un des principaux intérêt du "try with ressource" est que le close() est fait automatiquement et proprement quand on sort du bloc try.
On peut rajouter un catch et un finally si on le souhaite, mais la plupart du temps, ça ne sera plus nécessaire.
Uther est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 07/07/2011, 17h11   #8
styvsun
Nouveau Membre du Club
 
Développeur informatique
Inscription : janvier 2009
Messages : 51
Détails du profil
Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : janvier 2009
Messages : 51
Points : 28
Points : 28
Pas mal comme fonctionnalites dans Java7
styvsun est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/07/2011, 17h27   #9
Grimly_old
Membre éclairé
 
Inscription : mars 2008
Messages : 284
Détails du profil
Informations forums :
Inscription : mars 2008
Messages : 284
Points : 322
Points : 322
Les méthodes de la classe Objects sont vraiment pas mal.

NIO2 avec les WatchService risquent de laisser faire des choses horribles.
La première utilité pratique que j'y verrais serais un équivalent à Notepad++. La grosse bêtise à faire serait d'utiliser le système de fichier comme pipe.

J'attendais le diamant avec impatience !
Grimly_old est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 17h35   #10
Pill_S
Membre Expert
 
Avatar de Pill_S
 
Homme Sébastien Piller
Consultant informatique
Inscription : janvier 2004
Messages : 1 632
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Piller
Âge : 30
Localisation : Suisse

Informations professionnelles :
Activité : Consultant informatique
Secteur : Finance

Informations forums :
Inscription : janvier 2004
Messages : 1 632
Points : 2 221
Points : 2 221
Envoyer un message via MSN à Pill_S
Mais LOL

y'a vraiment mais alors vraiment rien de faramineux...

je me bidonne en lisant la javadoc de la classe Objects... il a, je pense, fallu 2h à un stagiaire pour l'écrire, tests inclus.

Le try-with-resource est à mon avis le plus utile, mais bon rien d'affolant.

La nouvelle syntaxe de générique, qui permet de se passer de la notation de droite, est juste ridicule: ok on raccourcis un peu l'expression, mais bon...

Le multicatch est sympa par contre
__________________
gg
Pill_S est déconnecté   Envoyer un message privé Réponse avec citation 34
Vieux 07/07/2011, 17h57   #11
_skip
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 576
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 576
Points : 6 458
Points : 6 458
Il a fallu quoi? 5 ans bien tapés pour ça?
Je suis un peu déçu par l'absence d'un sucre syntaxique pour les get/set. Et notre API de date promise censée remplacer cette grosse merde (désolé) de Calendar dans tout ça?

Quant à la syntaxe en diamant, je trouve que l'inférence de type (le mot clef "var" en C#) aurait été une tellement meilleure solution.

Citation:
Avec le try-with-resource, on peut ajouter des catch et finally (et donc l'exemple est un poil naze là-dessus) ou même pas ?
Avec un peu de chance, ça t'évite d'écrire cette beauté :

Code :
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
 
 
BufferedReader br = null; 
 
try 
{
   br = new BufferedReader(new FileReader(path));
   return br.readLine();
} 
finally 
{
 
    if( br != null)
    {
        try 
        { 
            br.close()
        }
        catch(IOException ex)
        {
            //rien
        }
    }
}
}
J'ai bon espoir que la nouvelle syntaxe étouffe la checked exception sur close().
_skip est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 07/07/2011, 17h59   #12
Julien Bodin
Membre chevronné
 
Avatar de Julien Bodin
 
Homme Julien Bodin
Ingénieur développement logiciels
Inscription : février 2009
Messages : 456
Détails du profil
Informations personnelles :
Nom : Homme Julien Bodin
Âge : 26
Localisation : France, Calvados (Basse Normandie)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2009
Messages : 456
Points : 757
Points : 757
Pareil, super déçu.
La nouvelle API File est sympa, le multicatch aussi.

Du coup on attend encore 4 ans pour avoir d'autres trucs ?
Julien Bodin est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 07/07/2011, 18h04   #13
bhamp0
Membre confirmé
 
Homme Benjamin
Consultant informatique
Inscription : août 2007
Messages : 160
Détails du profil
Informations personnelles :
Nom : Homme Benjamin
Localisation : France, Hauts de Seine (Île de France)

Informations professionnelles :
Activité : Consultant informatique
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : août 2007
Messages : 160
Points : 242
Points : 242
Citation:
Envoyé par _skip Voir le message
Il a fallu quoi? 5 ans bien tapés pour ça?
Je suis un peu déçu par l'absence d'un sucre syntaxique pour les get/set. Et notre API de date promise censée remplacer cette grosse merde (désolé) de Calendar dans tout ça?

Quant à la syntaxe en diamant, je trouve que l'inférence de type (le mot clef "var" en C#) aurait été une tellement meilleure solution.



Avec un peu de chance, ça t'évite d'écrire cette beauté :

Code :
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
 
 
BufferedReader br = null; 
 
try 
{
   br = new BufferedReader(new FileReader(path));
   return br.readLine();
} 
finally 
{
 
    if( br != null)
    {
        try 
        { 
            br.close()
        }
        catch(IOException ex)
        {
            //rien
        }
    }
}
}
J'ai bon espoir que la nouvelle syntaxe étouffe la checked exception sur close().
OK, ça marche avec les classes "standard" peut-être.
Mais qu'en est-il si je développe mes propres classes et que j'ai pas close(), mais fermer() ? (malheureusement, y'a des boîtes qui obligent le français dans les noms de méthode)
bhamp0 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/07/2011, 18h11   #14
kdmbella
Expert Confirmé Sénior
 
Avatar de kdmbella
 
Homme MBELLA EKOUME
Développeur Web
Inscription : août 2010
Messages : 690
Détails du profil
Informations personnelles :
Nom : Homme MBELLA EKOUME
Localisation : Cameroun

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : août 2010
Messages : 690
Points : 4 316
Points : 4 316
simplement super ces nouveautés de java 7 mais entre la release candidate et la release faut encore du temps quand meme de plus je trouve que Java 6 c'est encore la classe donc la migration c'est pas pour demain dans tous les cas

au fait le fait que java 7 sorte le 7/7 c'est délibéré ou bien c'est un pur hasard ?
kdmbella est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 18h12   #15
_skip
Expert Confirmé Sénior
 
Avatar de _skip
 
Homme
Développeur d'applications
Inscription : novembre 2005
Messages : 2 576
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 29
Localisation : Suisse

Informations professionnelles :
Activité : Développeur d'applications
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : novembre 2005
Messages : 2 576
Points : 6 458
Points : 6 458
Citation:
Envoyé par bhamp0 Voir le message
OK, ça marche avec les classes "standard" peut-être.
Mais qu'en est-il si je développe mes propres classes et que j'ai pas close(), mais fermer() ? (malheureusement, y'a des boîtes qui obligent le français dans les noms de méthode)
Il faudra pour cela implémenter cette interface :

http://download.oracle.com/javase/7/...Closeable.html

Et effectivement, selon la doc d'oracle les exceptions de libération de ressources sont supprimées :

http://download.oracle.com/javase/tu...sed-exceptions

Il n'est toutefois pas super bien précisé ce qui se passe si le code automatique génère une exception alors que le code contenu dans le bloc try s'est bien déroulé. Etant donné que autocloseable spécifie un throw Exception de bas niveau, qu'est-ce que cela impliquerait?
_skip est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 18h14   #16
javan00b
Membre actif
 
Inscription : avril 2009
Messages : 138
Détails du profil
Informations personnelles :
Localisation : Canada

Informations forums :
Inscription : avril 2009
Messages : 138
Points : 150
Points : 150
le try-with-resource et le multi-catch pour ma part son les meilleurs innovations de java 7. J'espere que java 8 est prevue pour bientot.
javan00b est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/07/2011, 18h22   #17
Arnard
Membre Expert
 
Homme Arnaud
Développeur .NET
Inscription : avril 2006
Messages : 1 391
Détails du profil
Informations personnelles :
Nom : Homme Arnaud
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : avril 2006
Messages : 1 391
Points : 1 585
Points : 1 585
Tous les 7 portent bonheur

Citation:
Envoyé par _skip Voir le message
Il a fallu quoi? 5 ans bien tapés pour ça?
Je suis un peu déçu par l'absence d'un sucre syntaxique pour les get/set. Et notre API de date promise censée remplacer cette grosse merde (désolé) de Calendar dans tout ça?

Quant à la syntaxe en diamant, je trouve que l'inférence de type (le mot clef "var" en C#) aurait été une tellement meilleure solution.
Je partage ta déception sur les get/set. Par contre, je préfère la syntaxe diamant au mot-clef var en C#, car à l'utiliser pour tout et n'importe quoi on finit par ne plus savoir ce que l'on manipule comme objet... Personnellement j'adorerais avoir une telle notation à l'instanciation des objet C#

Le MultiCatch est sympa aussi.

La classe Objects, on peut se moquer, mais elle permet de faire sûrement et simplement des opérations habituelles, ce qui la rend à mes yeux très séduisante.
Arnard est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/07/2011, 18h33   #18
Uther
Expert Confirmé Sénior
 
Avatar de Uther
 
Homme
Inscription : avril 2002
Messages : 2 688
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : avril 2002
Messages : 2 688
Points : 5 141
Points : 5 141
Citation:
Envoyé par _skip Voir le message
Il a fallu quoi? 5 ans bien tapés pour ça?
Je suis un peu déçu par l'absence d'un sucre syntaxique pour les get/set. Et notre API de date promise censée remplacer cette grosse merde (désolé) de Calendar dans tout ça?
Comme beaucoup des nouveautés prévues, ça arrivera pour Java 8, même si le travail dessus est bien avancé.

Java 7 est avant tout un signe d'Oracle pour dire : "non, on a pas abandonné Java". Ils ont sorti ce qui était près à l'être mais les majorité des nouveautés clés prévues à l'origine pour Java 7 seront pour Java 8 (lambda, références de méthode, méthode d'extention, collection littératles, Api Date, ...)

Citation:
Envoyé par _skip Voir le message
Quant à la syntaxe en diamant, je trouve que l'inférence de type (le mot clef "var" en C#) aurait été une tellement meilleure solution.
Je trouve que le mot-clé "var" rend le type moins lisible. Pour moi la lisibilité du type est un gros avantage de java

Citation:
Envoyé par _skip Voir le message
Avec un peu de chance, ça t'évite d'écrire cette beauté :
...
J'ai bon espoir que la nouvelle syntaxe étouffe la checked exception sur close().
C'est bien le cas

Citation:
Envoyé par Julien Bodin Voir le message
Du coup on attend encore 4 ans pour avoir d'autres trucs ?
Normalement ça devrait être bien plus rapide : le travail sur les nouveautés a venir est bien entamé. Java 7 est juste une sorte de pré-Java 8.

Citation:
Envoyé par bhamp0 Voir le message
OK, ça marche avec les classes "standard" peut-être.
Mais qu'en est-il si je développe mes propres classes et que j'ai pas close(), mais fermer() ? (malheureusement, y'a des boîtes qui obligent le français dans les noms de méthode)
Il suffit que ta classe implémente l'interface AutoClosable et sa méthode close() sera appelée automatiquement. Ta méthode close() pourra faire appel à la méthode fermer().
Vouloir l'intégralité des méthodes en français est de toute façon impossible en Java (main(), finalize(), ...)
Uther est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 19h10   #19
Killing Joke
Membre actif
 
Inscription : février 2006
Messages : 69
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 69
Points : 174
Points : 174
Perso', j'attends surtout Java 8 pour le projet Jigsaw, avec la gestion des dépendances directement gêrée en Java (modules et dépendances inter-modules ou dépendances vers des jars) (même si çà n'ira sans doute pas super loin, çà mettra un coup de pied dans la fourmillère maven).
Killing Joke est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/07/2011, 20h11   #20
tchize_
Expert Confirmé Sénior
 
Avatar de tchize_
 
Homme
Responsable de service informatique
Inscription : avril 2007
Messages : 18 412
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : Belgique

Informations professionnelles :
Activité : Responsable de service informatique
Secteur : Service public

Informations forums :
Inscription : avril 2007
Messages : 18 412
Points : 33 154
Points : 33 154
Envoyer un message via MSN à tchize_ Envoyer un message via Skype™ à tchize_
Citation:
Envoyé par _skip Voir le message
Il a fallu quoi? 5 ans bien tapés pour ça?
Je suis un peu déçu par l'absence d'un sucre syntaxique pour les get/set. Et notre API de date promise censée remplacer cette grosse merde (désolé) de Calendar dans tout ça?

Quant à la syntaxe en diamant, je trouve que l'inférence de type (le mot clef "var" en C#) aurait été une tellement meilleure solution.
A pitié, par les types variant, ca a des tonns de p** d'effets de bord. La syntaxe diamant a pour but d'éviter de ce répéter, pas de créer des types variables.


Pour le reste, rien de surprenant, ca fait depuis fin 2010 que cette liste de fonctionnalité pour java 7 a été arrêtée. Et les nouveaux responsables du coté d'oracle on été clair "on a pris la liste de ce qui était prévu pour java 7, on a regardé ce qu'on pouvait faire à temps, on a refusé tout le reste". C'est pas agréable, mais au moins c'est responsable. Oracle, contrairement à sun, a respecté les délais qu'il a promis. De toutes façons, si tout ce qui était prévu avait été mis dedans, ben on aurait encore attendu 1an1/2 avant java 7, date à laquelle java 8 va sortir. Donc au final t'aura tes fonctionnalités à la même date
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et
Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir.
tchize_ est déconnecté   Envoyer un message privé Réponse avec citation 43
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h40.


 
 
 
 
Partenaires

Hébergement Web