pic
La théorie Parlons un peu de SEDA... Bon encore un vague acronyme...Ça veut dire quoi au fait ? Staged Event Driven Architecture. OK, encore un nouveau paradigme dans la mouvance DDD, TDD, MDA  ... ? Ben pas vraiment nouveau en fait, ça fait 10 ans que ça existe et c'est Matt Welsh qui lance le mouvement dans la année 2000 avec une publication (cf. http://www.eecs.harvard.edu/~mdw/papers/events.pdf). Heu en 2 mots c'est quoi le principe ? Bon l'idée c'est de créer des architectures scalables. OK...comment ? C'est la que ça devient intéressant ... Le principe est disti...
pic
Dans un post précédent, nous avons vu le fonctionnement de la JVM (cf. http://www.opensides.fr/?p=271). Aujourd'hui nous allons voir à quoi sert la zone PermGen et surtout comment éviter les erreurs de type PermGen OutOfMemory.. C'est quoi la PermGen ? La PermGen est un segment de mémoire dans laquelle sont stockés le bytecode et les type primitifs lors chargement de l'application. Cette zone mémoire contient donc l'ensemble des classes permettant à la JVM de créer les instances à partir de ces classes. (la voici tout à gauche sur le schéma). Cette zone est donc chargÃ...
pic
Introduction Une architecture SOA a pour principe d’exposer un ensemble de services à destination des utilisateurs. Ces services peuvent éventuellement être relayés par ces mêmes utilisateurs qui peuvent les décorer de nouvelles fonctionnalités. Un des facteurs critique de ce genre d’architecture est la «scalabilité». C’est à dire que le système doit pouvoir répondre linéairement à une charge de requêtes croissante. Pour garantir une bonne scalabilité, l’enjeu est d’optimiser les ressources matérielles (calcul, mémoire, i/o) de façon à servir toutes les requÃ...
pic
Software development is based on resources. This may be of different nature (processor, memory, I / o). One of the challenges of software development is to understand the management of these resources to optimize the performance of our applications. Here is a small synthetical post on hardware resources of a system microprocessor. * The processor (CPU) is the heart of the system. It's like a bandmaster,  he make the calculations, take decisions in terms of addressing and allocation of resources within the system. * The ROM (read only memory) is the persistence support data such as ...
pic
The Java Virtual Machine (JVM Short, French JVM), well known to Java developers, can interpret and execute the bytecode. The interest of the JVM is to enable the portability of languages it supports, ie, it allows them to operate on any platform. How it works exactly? The different memory areas Here is an overview of JVMs (Sun HotSpot): We can see that the JVM is made up of different areas. This can be grouped into 2 main categories: the PERM and HEAP: PERM On loading the application, all classes (. Class) is loaded into this memory space. The JVM will then use the loaded classes i...
avr

23

La théorie
Parlons un peu de SEDA…
Bon encore un vague acronyme…Ça veut dire quoi au fait ? Staged Event Driven Architecture.
OK, encore un nouveau paradigme dans la mouvance DDD, TDD, MDA  … ? Ben pas vraiment nouveau en fait, ça fait 10 ans que ça existe et c’est Matt Welsh qui lance le mouvement dans la [...]

mar

25

Introduction
Une architecture SOA a pour principe d’exposer un ensemble de services à destination des utilisateurs. Ces services peuvent éventuellement être relayés par ces mêmes utilisateurs qui peuvent les décorer de nouvelles fonctionnalités. Un des facteurs critique de ce genre d’architecture est la «scalabilité». C’est à dire que le système doit pouvoir répondre linéairement à une [...]

mar

21

The Java Virtual Machine (JVM Short, French JVM), well known to Java developers, can interpret and execute the bytecode. The interest of the JVM is to enable the portability of languages it supports, ie, it allows them to operate on any platform.
How it works exactly?
The different memory areas
Here is an overview of JVMs (Sun HotSpot):

We [...]

mar

20

La Java Virtual Machine (abrégé JVM, en français machine virtuelle Java), bien connu des développeurs Java, permet d’interpréter et d’exécuter le bytecode. L’intérêt de la JVM est de permettre la portabilité des langages qu’elle supporte, c’est à dire qu’elle permet leur fonctionnement sur n’importe quelle plateforme.
Comment elle fonctionne précisément ?
Les différentes zones mémoires
Voici l’aperçu d’un [...]

mar

12

Le principe de l’architecture REST repose sur l’utilisation du protocole http en tirant partie de son enveloppe et de ses en-tête sans ajout de surcouche. Ce paradigme d’architecture se veut parfaitement stateless et laisse donc le soin au client de gérer les sessions (cf. http://fr.wikipedia.org/wiki/Representational_State_Transfer)
Dans cet article nous présupposons que ce type architecture est en [...]

mar

08

What is a memory leak ?
A « memory leak » (cf. http://en.wikipedia.org/wiki/Memory_leak) is a situation when program is unable to release memory it has acquired. It happens when objects are hard referenced by other objects so that JVM can’t release them.
Example
public class MemoryLab {

//a collection (a business cache for example)
static HashSet<Integer> aCache = new HashSet<Integer>();
public static [...]

fév

01

Quelques clics sur Wordpress et hop un nouveau blog voit le jour.
Maintenant il va falloir alimenter le nouveau venu avec quelques articles.
L’objectif sera de présenter quelques tutoriauxs,  et de faire part de réflexions  autour de l’actualité Java EE.
A bientôt !

fév

01

Rendez-vous sur le site du paris JUG pour vous inscrire: http://www.parisjug.org/xwiki/bin/view/Meeting/20090210

Tags:
mar

05

1/ Verify CPU, I/O overconsumption, and memory leak:
CPU: Check processor load servers with top
I/O: Check I/O with Visual VM
Memory: Check GC activity of differents JVM with Visual VM, JConsole, heap dump, MAT
-> These 3 points are used to identify programming errors leading to excessive consumption of CPU and I / O, the infinite loop and memory-leaks.
2/ Check [...]

mar

05

1/ JVM instrumentation(add JVM option)
-Xdump:java+heap+system+snap:events=user,request=exclusive+prepwalk
2/ Find java process (PID)
ps aux | grep java
or
ps auxwww | grep java
or
jps -v | grep -iv jps
3/ Trigger heap dump in hprof format
jmap -dump:format=b,file=dump.hprof <PID>
4/ Analyze dump with MAT
(cf. download Eclipse Memory Analyzer http://www.eclipse.org/mat/downloads.php)
File->Open Heap Dump …
5/ Analyze dump with jhat
>launch jhat on heap dump:
jhat dump.hprof
>go to http://localhost:7000/

mar

27

The Thread Dump is a photograph taken at T time of all threads acyivity in the application server. They are displayed one after the other as a stack trace. This photograph of the JVM state allow us to analyze the deadlock between threads.

1/ Find java process (PID)
ps aux | grep java
or
ps auxwww | grep java
or
jps -v [...]

mar

26

Dans un post précédent, nous avons vu le fonctionnement de la JVM (cf. http://www.opensides.fr/?p=271). Aujourd’hui nous allons voir à quoi sert la zone PermGen et surtout comment éviter les erreurs de type PermGen OutOfMemory..
C’est quoi la PermGen ?
La PermGen est un segment de mémoire dans laquelle sont stockés le bytecode et les type primitifs lors [...]

mar

21

Software development is based on resources. This may be of different nature (processor, memory, I / o). One of the challenges of software development is to understand the management of these resources to optimize the performance of our applications.
Here is a small synthetical post on hardware resources of a system microprocessor.

* The processor (CPU) is [...]

mar

21

Le développement logiciel repose sur des ressources. Celle-ci peuvent être de différentes nature (processeur, mémoire, I/o). Un des enjeux du développement informatique est de comprendre la gestion de ces ressources pour optimiser les performances de nos applications.
Voici un petit article synthétique sur les ressources matériel d’un système à micro-processeur.

Sur ce schéma on observe 4 éléments:

Le [...]