Un article du lundi matin qui réveille!
Afin de mieux comprendre comment fonctionne le garbage collector, sa division, sa politique de destruction d'objets, vous pouvez lire cet article.
En premier lieu, il décrit la manière dont la JVM utilise la mémoire, et les options que l'on passe pour en définir la taille. Si, si vous savez ces fameux -XX:MaxPermSize, -Xmx et consort...
De plus, l'auteur présente rapidement l'outil jvisualvm, un outil fournit à partir du JDK 6 update 7.
mesdames, messieurs, bonne semaine ;)
lundi 24 janvier 2011
lundi 17 janvier 2011
Les tests d'integration avec Spring et JUnit
Certaines annotations facilitent le développement de tests d'intégration.
Il est, par exemple, possible de charger un application context différent de celui utiliser dans l'application grâce à l'annotation @ContextConfiguration.
Il en existe bien d'autres et celles qui vous seront utiles pourraient être listées dans la page suivante : http://java.dzone.com/articles/junit-spring-%E2%80%93-what-you-don%E2%80%99t
Il est, par exemple, possible de charger un application context différent de celui utiliser dans l'application grâce à l'annotation @ContextConfiguration.
Il en existe bien d'autres et celles qui vous seront utiles pourraient être listées dans la page suivante : http://java.dzone.com/articles/junit-spring-%E2%80%93-what-you-don%E2%80%99t
jeudi 13 janvier 2011
appelez moi Jenkins
Hudson, serveur d'intégration continue connu et reconnu continue de bouger.
Après le rachat de Sun par Oracle, le débat fut houleux, Hudson doit-il devenir un produit Oracle ?
Puisqu'un changement de nom permettrait à Hudson d'être hébergé ailleurs que chez Oracle, c'est peut etre ce qui se fera : http://www.developpez.com/actu/26995/Le-Projet-Hudson-change-de-nom-et-devient-Jenkins-pour-respecter-les-droits-d-Oracle-sa-migration-vers-GitHub-devrait-suivre/. L'info est un peu partout, mais ce lien est en français.
Mais ce billet n'est pas là que pour ça. En effet, Hudson pourrait changer de nom et être hébergé sous GitHub mais bon...
Ce qui m'intéresse aujourd'hui, c'est qu'un definitive guide est en cours de préparation.
Il ne contient pour l'instant que six chapitres mais continue d'évoluer, et s'il est aussi simple à lire que le definitive guide de Maven, ce livre peut être une très bonne documentation.
La page depuis laquelle le livre est téléchargeable est ici.
Une interview de l'auteur est disponible là.
Après le rachat de Sun par Oracle, le débat fut houleux, Hudson doit-il devenir un produit Oracle ?
Puisqu'un changement de nom permettrait à Hudson d'être hébergé ailleurs que chez Oracle, c'est peut etre ce qui se fera : http://www.developpez.com/actu/26995/Le-Projet-Hudson-change-de-nom-et-devient-Jenkins-pour-respecter-les-droits-d-Oracle-sa-migration-vers-GitHub-devrait-suivre/. L'info est un peu partout, mais ce lien est en français.
Mais ce billet n'est pas là que pour ça. En effet, Hudson pourrait changer de nom et être hébergé sous GitHub mais bon...
Ce qui m'intéresse aujourd'hui, c'est qu'un definitive guide est en cours de préparation.
Il ne contient pour l'instant que six chapitres mais continue d'évoluer, et s'il est aussi simple à lire que le definitive guide de Maven, ce livre peut être une très bonne documentation.
La page depuis laquelle le livre est téléchargeable est ici.
Une interview de l'auteur est disponible là.
Libellés :
continuous integration,
Hudson,
integration continue,
Jenkins
jeudi 30 septembre 2010
les avantages et inconvénients de Mockito
Cet article vous présente les avantages et les inconvénients de Mockito.
De plus, une comparaison est disponible avec EasyMock.
Je ne connais qu'EasyMock, j'ai pu l'utiliser avec PowerMock.
Je trouvais le code très verbeux et assez complexe à appréhender.
Il semblerait que Mockito permette de gagner quelques lignes de code.
Si vous désirez un petit comparatif entre les deux, c'est disponible ici.
mardi 14 septembre 2010
Terracotta et la gestion du Garbage collector
Comment se passer des limites du garbage collector de la JVM ?
En utilisant Terracotta!
La définition du module "BigMemory" s'insère dans le fichier de configuration d'ehcache.
Leurs tests montre qu'il est possible d'avoir un garbage collector de 200Go.
Ce module sera disponible en octobre.
mardi 31 août 2010
Des tests JUnit plus lisibles
Dans une classe, on arrive vite à des assert longs et parfois compliqués.
A la fin, il faut bien l'avouer, les tests unitaires deviennent vite verbeux, rendant la compréhension difficile.
Hamcrest est une librairie qui simplifie l'écriture des assert.
Par exemple, on peut vérifie qu'une liste contient une valeur en faisant :
assertThat(aList, hasItem("aString"));Vous trouverez plus de détails ici.
Le projet est hébergé sur google code.
jeudi 22 juillet 2010
Le top ten des problèmes de performance
Voici un lien vers le top ten des problèmes de performances.
1) Trop d'appels aux bases de données
2) Trop de synchronisation
3) manque d'attention au traffic réseau (latence, sérialisation)
4) Mauvais usage du mapping objet/relationnel
5) fuite mémoire
6) l'utilisation de dépendances problématique ou mal maitrisée
7) gaspillage des ressources
8) des applications "bouffies" qui chargent des ressources mal dimensionnées (images, javascript...)
9) mauvaise stratégie de cache
10) problèmes intermittents
L'intérêt de ce billet est qu'il donne des pistes pour résoudre chacun d'eux.
Inscription à :
Articles (Atom)