Jump to content

[TUTORIAL] Java5, pools d'objets


Recommended Posts

Bonjour chers INpactiens,

Je viens de finir la rédaction d'un article sur le développement de pools d'objets en Java.

Dans la droite ligne de mon tutorial d'installation de linux Debian, cet article met l'accent sur une progression régulière et une explication pas à pas, permettant au lecteur de bien comprendre ce qu'il fait et pourquoi il le fait.

En partant d'une simple liste d'objets, jusqu'à l'utilisation des génériques Java5, en passant par la synchronisation, tout est expliqué.

L'article et les sources sont disponibles ici :

http://olivier.croisier.free.fr/articles.php

J'espère que vous apprécierez sa lecture.

Faites-moi part de vos remarques et commentaires !

Sentinel

Link to comment
Share on other sites

J'ai survolé ton boulot et je ne connais pas bien le sujet donc je ne sais pas si c'est très valable ce que je dis, mais ca à l'air franchement bien expliqué, beaucoup d'exemples de code et d'explications, peut-être préciser un peu ou mettre des liens vers des explications de certaines notions ( le design pattern du singleton notamment ) pour éviter de "perturber" le lecteur.

Mais bravo c'est du super boulot :francais:

Link to comment
Share on other sites

En principe, comme indiqué dans l'introduction, l'article s'adresse plutôt à des programmeurs de bon niveau.

Mais je note la remarque, et je referai une passe pour voir si certaines notions nécessitent davantage d'explications.

Link to comment
Share on other sites

Bonjour !

J'ai pris pas mal de temps pour lire la doc, ne voulant pas trop lire ca en diagonal.

Je ne me considére pas comme un brute en java, mais l'article a était suffisement clare pour que j'en comprenne une bonne partie.

Je tien juste a signaler que j'ai rencontré une petite difficultée.

Lors de l'exemple du premier pool ( pool1.zip ) j'ai pas pu le compiler !

pour le fichier Consumer.java :

 $ javac Pool/src/croisier/pool/Consumer.java 
Pool/src/croisier/pool/Consumer.java:32: ';' expected
	public enum Action {NOTHING, GET_RESOURCE, RETURN_RESOURCE, USE_RESOURCE};
					   ^
1 error

Pour info :

 $ java-config -L
[sun-jdk-1.4.2.10] "Sun JDK 1.4.2.10" (/etc/env.d/java/20sun-jdk-1.4.2.10)
[blackdown-jre-1.4.2.03] "Blackdown JRE 1.4.2.03" (/etc/env.d/java/20blackdown-jre-1.4.2.03)
[sun-jre-bin-1.5.0.06] "Sun JRE 1.5.0.06" (/etc/env.d/java/20sun-jre-bin-1.5.0.06) *
[blackdown-jdk-1.4.2.03] "Blackdown JDK 1.4.2.03" (/etc/env.d/java/20blackdown-jdk-1.4.2.03)

J'aurais bien voulu voire le pool en action, histoire de mieu cerné l'interet de la chose.

Si peut etre une autre chose.

Tu parle d'un exemple concret avec une connexion a une base Mysql, il n'y aurait pas moyen de l'avoir? personnellement, ca m'aurais aider a mieu comprendre.

Sinon, j'avoue que cette doc est bien faite, le code y etant toujours expliqué, de A a Z. :chinois:

@Bientot

lmarin

Link to comment
Share on other sites

Salut lmarin !

Pour compiler et exécuter le code, il te faut Java5, comme expliqué dans le tout premier paragraphe de l'article. En effet, on utilise les énumérations et les génériques, qui sont propres à Java5.

I.1 Pré-requis

Cet article s'adresse à un public maîtrisant le langage Java. Une bonne connaissance de la version 5

est un plus.

La compilation et l'exécution du code source nécessitent la machine virtuelle Java5, disponible sur

le site de Sun Microsystems : http://java.sun.com/j2se/1.5.0/download.jsp

Je pense que sur ta machine, c'est Java 1.4 qui est utilisé par défaut (regarde ton path et la variable d'environnement JAVA_HOME). Essaie en spécifiant le chemin complet vers l'exécutable "java" de Java5.

Quant à mySQL, je ne vois pas de quoi tu parles, il n'y a aucune référence à mySQL dans l'article ?

Et pour ce qui est de voir le pool en action, on développe non seulement le pool, mais aussi tout l'environnement permettant de le tester (regarde la classe PoolTest et la classe Consumer : la première initialise le pool, la seconde l'utilise pour récupérer des ressources).

Link to comment
Share on other sites

Si <REP> est le répertoire que tu obtiens en décompressant les exemples...

Compilation :

cd <REP>/Pool
mkdir classes
javac -d classes src/croisier/pool/*.java

Lancement :

java -cp classes croisier.pool.PoolTest

L'autre solution est d'utiliser un IDE comme Eclipse ou NetBeans, gratuits tous les deux, et qui permettent de compiler et lancer facilement les exemples. Cela te permettra aussi de jouer un peu avec le code, ce que je recommande vivement pour bien en comprendre le fonctionnement.

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...
  • 2 weeks later...

Alors Morbid, t'es arrivé à la fin quand même ? :D

Pas trop hard ?

Si un peu trop hard ... j'y reviendrai quand je maitriserai mieux ^^

Le probleme c'est qu'a l'école c'est fini le java (apres c'est c/c++) donc je vais devoir essayer de progresser tout seul :D (mais la je suis en examen donc se sera pour apres :yes:) :francais:

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...