Skip to content

Date archive for: mai 2009

Java, WeakReference et WeakHashMap

Voici un petit topo rapide sur un élément peu connu du fonctionnement du Garbage Collector Java : les WeakReferences.

Les WeakReferences permettent de référencer un objet sans le « locker » vis-à-vis du Garbage Collector.

Imaginons que vous ayez un ensemble d’objets dont vous voulez stocker le timestamp de création, vous pouvez par exemple utiliser une HashMap :

Map<MonObjet, Long> maHashMap = new HashMap<MonObjet,Long>();
...
maHashMap.put(unObjet,System.currentTimeMillis());
...

Maintenant, imaginons que votre objet ne soit plus utile.
Si vous oubliez de supprimer cet objet de la hashmap, il restera en mémoire, le garbage collector ne libérera jamais cet objet, car il est référencé par la map.
Vous ne devez donc pas oublier de faire un remove(), sinon, vous aurez une fuite mémoire !

Grâce aux WeakReferences et plus précisément l’objet WeakHashMap, vous avez une alternative face à ce problème. Remplacez votre code par :

Map<MonObjet, Long> maHashMap = new WeakHashMap<MonObjet,Long>();
...
maHashMap.put(unObjet,System.currentTimeMillis());
...

Quelle est la différence ? L’utilisation d’une WeakReference sur la clé de la HashMap !

Concrètement, ça signifie que si votre objet n’est plus référencé nulle part, il disparaîtra de votre Map dès le passage du Garbage Collector. Magique : plus de risque de fuite mémoire !

[ Ethan Nicholas’s Blog : Understanding Weak References ]

OpenQRM : la virtualisation, c’est quoi ?

Voici une petite vidéo issue du site d’OpenQRM expliquant rapidement le déploiement de serveurs et d’applications sur des machines virtuelles (ou physiques) d’un datacenter.

Tout semble intuitif :

  • on compose sa machine
  • on ajoute les applications
  • on lance le déploiement
  • peu de temps après, on reçoit par mail une adresse IP et un couple login/password

Dans la pratique, je ne sais pas si c’est aussi limpide, mais le principe est alléchant.

[ OpenQRM ]
[ OnLAMP : An Introduction to openQRM ]

Se sentir immergé dans le son avec l’holophonie

ku100_s

Connaissez-vous le principe de l’holophonie ?

Il s’agit d’une technique d’enregistrement permettant de restituer une réelle sensation d’immersion pour l’auditeur.

Voici une description rapide du principe :

Les enregistrements sont réalisés à l’aide de deux microphones placés dans les oreilles d’une « dummy head » (photo de droite). Les oreilles du mannequin sont reproduites à l’identique de celle de l’homme, ainsi le son perçu est très réaliste.
Lors de l’enregistrement, chaque microphone perçoit le son mais avec un léger déphasage dû à la distance entre les oreilles/microphones et à la vitesse du son.

Faites l’essai :

  • mettez un casque sur les oreilles
  • écoutez un des extraits du site

Vous serez impressionné par la sensation d’immersion obtenue !

Un grand merci à Pierre pour m’avoir fait suivre ce lien !

[ Son holophonique sur DéblogToi ]