Java SE 6 Update 18

La version de Java SE 6 Update 18 est sortie en janvier 2010 est apporte des corrections intéressantes pour notre domaine d’application :

  • VisualVM 1.2 : outil d’analyse JVM avec des capacités d’analyses spécifiques aux applications temps réel :
    • analyse du CPU, de la mémoire et des Tthreads
    • amélioration de l’interface graphique
  • Java HotSpot Virtual Machine 16.0 : améliorations des performances :
    • amélioration des allocations de type NUMA-aware
    • mécanisme de compression des pointeurs sur le objets
    • amélioration des performances du Garbage Collector G1
    • amélioration du ClassLoader pour un démarrage plus rapide
    • amélioration du ByteCode généré pour un gain de performance

Tous les détails sont sur la page de la version Java SE 6 Update 18.

D’après le site Developpez.com, le gain au lancement des applications Java serait de 15 %.

Bertrand DELSART : leader technique sur l’implémentation de la spécification de Java pour le temps réel

J’ai eu l’occasion de rencontrer Bertrand DELSART lors d’un workshop et c’est un personnage vraiment sympa et surtout bon speaker !

Il travaille pour Sun Microsystems à Grenoble depuis 2003 et est leader technique sur l’implémentation de la spécification de Java pour le temps réel (Real-Time Specification for Java – RTSJ). Il a participé à de nombreuses conférences tels que JavaOne, SunTech Days et JTRES.

L’objet de cet article est de répertorier ses différentes participations et conférences. Pour commencer, voici quelques liens utiles :

Voici des publications sur lesquels il a participé :

  • TurboJ : a Java Bytecode-to-Native Compiler (LCTES 1998)
  • JCOD : A Lightweight Modular Compilation Technology for Embedded Java (EMSOFT 2002)
  • Mackinac : Making HotSpot Real-Time (ISORC 2005)

Se former à Java temps réel

En informatique, les développeurs doivent toujours maintenir une curiosité sur les nouvelles technologies et se former en permanence aux nouvelles technologies et aux nouvelles contraintes. Ceci est encore plus vrai dans le domaine des applications Java temps réels et / ou embarquées : comment développer du Java avec des contraintes temps réels ? comment tirer profit des architectures multicoeur en Java ?

Je viens de découvrir la société ACSYS à Courbevoie dans le département des Hauts-de-Seine (92). Cette société assure de nombreuses formations dans le domaine des matériels et des logiciels embarqués et notamment des cours sur le développement d’applications Java temps réels :

Je ne connais pas la qualité de leur formation mais les nombreuses formations, le contenu, les supports semblent correctes, ce qui laisse présager une certaine qualité !

Détecter manuellement les consommations exécives de CPU

Ce que j’aime en informatique, ce sont les problèmes ! Une collègue me dit qu’une application Java prend soudainement un taux CPU de plus de 80% ! Impossible pour elle de se rappeler ou de détecter la modification qui a engendré cette gourmandise soudaine de CPU.

Pour détecter les problèmes de CPU, une méthode parmi d’autres consiste à collecter des informations sur la consommation CPU puis de vider ces informations, c’est à dire faire un dump, dans un fichier afin de l’analyser. Le dump doit être au format HPROF pour être analysé soit manuellement avec un fichier texte soit automatiquement avec un outil graphique.

Dans un billet précédent intitulé Détecter manuellement les fuites mémoires, j’avais expliqué la démarche pour dénicher manuellement une fuite mémoire. La méthode manuelle pour détecter une consommation exécive de CPU est similaire.
(Lire la suite…)