<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Comprendre tout simplement &#187; JAVA</title>
	<atom:link href="https://blog.developpez.com/comprendre/pcategory/java/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/comprendre</link>
	<description></description>
	<lastBuildDate>Fri, 16 Dec 2011 13:04:30 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Utiliser un package Java (.jar) dans un projet Eclipse</title>
		<link>https://blog.developpez.com/comprendre/p10471/java/utiliser_un_package_java_jar_dans_un_pro</link>
		<comments>https://blog.developpez.com/comprendre/p10471/java/utiliser_un_package_java_jar_dans_un_pro#comments</comments>
		<pubDate>Sat, 05 Nov 2011 14:59:32 +0000</pubDate>
		<dc:creator><![CDATA[wafiwafi]]></dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Utiliser un package Java (.jar) dans un projet Eclipse : Ouvrir les propriétés du projet (Menu Project > Properties), aller à la rubrique Java Build Path et dans l&#8217;onglet Librairies. Là tu peux &#171;&#160;ajouter&#160;&#187; une librairie Java que tu possède sous forme de fichier .jar Le bouton &#171;&#160;Add JARs&#8230;&#160;&#187; permet de lier un fichier se trouvant dans le workspace Eclipse. Le bouton &#171;&#160;Add External JARs&#8230;&#160;&#187; permet de lier un fichier se trouvant n&#8217;importe où sur [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Utiliser un package Java (.jar) dans un projet Eclipse :<br />
Ouvrir les propriétés du projet (Menu Project > Properties), aller à la rubrique Java Build Path et dans l&rsquo;onglet Librairies.<br />
Là tu peux &laquo;&nbsp;ajouter&nbsp;&raquo; une librairie Java que tu possède sous forme de fichier .jar<br />
Le bouton &laquo;&nbsp;Add JARs&#8230;&nbsp;&raquo; permet de lier un fichier se trouvant dans le workspace Eclipse.<br />
Le bouton &laquo;&nbsp;Add External JARs&#8230;&nbsp;&raquo; permet de lier un fichier se trouvant n&rsquo;importe où sur tes disques.  </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tableau et ArrayList</title>
		<link>https://blog.developpez.com/comprendre/p10455/java/list</link>
		<comments>https://blog.developpez.com/comprendre/p10455/java/list#comments</comments>
		<pubDate>Mon, 31 Oct 2011 14:17:59 +0000</pubDate>
		<dc:creator><![CDATA[wafiwafi]]></dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[ArrayList change de taille dynamiquement mais pas un tableau. le tableau ne se redimensionne pas tout seul et il ne décale rien alors que ArrayList le fait. On peut appeler une méthode sur une ArrayList mais pas sur un tableau. On retire plus facilement des objets d&#8217;une arrayList que d&#8217;un tableau. ArrayList ne peut pas contenir des types primitifs alors qu&#8217;un tableau oui. (nécéssité de les mettre dans des objets : classes enveloppes). Un tableau [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>ArrayList change de taille dynamiquement mais pas un tableau.</p>
<p>le tableau ne se redimensionne pas tout seul et il ne décale rien alors que ArrayList le fait.</p>
<p>On peut appeler une méthode sur une ArrayList mais pas sur un tableau.</p>
<p>On retire plus facilement des objets d&rsquo;une arrayList que d&rsquo;un tableau.</p>
<p>ArrayList ne peut pas contenir des types primitifs alors qu&rsquo;un tableau oui.<br />
(nécéssité de les mettre dans des objets : classes enveloppes).</p>
<p>Un tableau peut être plus rapide mais dans des situations rares.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Différence entre ArrayList et LinkList</title>
		<link>https://blog.developpez.com/comprendre/p10454/java/difference_entre_arraylist_et_linklist</link>
		<comments>https://blog.developpez.com/comprendre/p10454/java/difference_entre_arraylist_et_linklist#comments</comments>
		<pubDate>Mon, 31 Oct 2011 14:17:22 +0000</pubDate>
		<dc:creator><![CDATA[wafiwafi]]></dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Dans le cas de l&#8217;arraylist, les données sont stockées dans un tableau. A l&#8217;instanciation, un tableau est créé et rempli en faisant des add. Le problème, c&#8217;est que si on ajoute trop d’éléments, le tableau va etre trop petit. Il va donc devoir être recréé et recopié. Pire, si on supprime un élément en plein milieu de la liste, il faut décaler tous les éléments suivants. L&#8217;arraylist est donc bien adapté pour stocker des données [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Dans le cas de l&rsquo;arraylist, les données sont stockées dans un tableau. A l&rsquo;instanciation, un tableau est créé et rempli en faisant des add. Le problème, c&rsquo;est que si on ajoute trop d’éléments, le tableau va etre trop petit. Il va donc devoir être recréé et recopié. Pire, si on supprime un élément en plein milieu de la liste, il faut décaler tous les éléments suivants.<br />
L&rsquo;arraylist est donc bien adapté pour stocker des données qu&rsquo;on ne va pas supprimer ensuite.</p>
<p>La linkedList, elle, stocke les données sous forme de liste chainée. On peut donc ajouter autant d’élément qu&rsquo;on veut, il n&rsquo;y a pas de problème. Et en cas de suppression, il suffit de faire pointer le maillon précédent sur le maillon suivant pour supprimer un maillon. Par contre, pour l’élément l&rsquo;indice n, il faut parcourir n éléments. Cette liste n&rsquo;est donc pas adaptée pour accéder aux éléments d’après leur indice.</p>
<p>Le choix du bon type de liste/map peut changer les performances d&rsquo;une application.<br />
<strong><br />
Les accès :</strong></p>
<p>Une ArrayList est gérée en interne par un tableau. On peut donc accéder en temps constant à n&rsquo;importe quel élément par &laquo;&nbsp;monArrayList.get(nb);&nbsp;&raquo;.</p>
<p>Avec une LinkedList, une telle commande est catastrophique en termes de performances (il faut passer par les nb-1 premiers éléments pour accéder au nb-ième). </p>
<p><strong>Dans les faits :</strong></p>
<p>    Une ArrayList est adaptée aux accès directs et aux listes de taille fixe. Elle peut devenir un trou de performance dans le cas ou la capacité de la liste varie brutalement et rapidement dans le temps (ce qui implique de multiple allocations / recopies de tableaux).<br />
    Une LinkedList est adaptée aux listes de taille dynamique avec ajout/retrait en début ou fin de liste ou via une position pointée par un itérateur (et non un indice). Elle peut devenir un trou de performance en cas d&rsquo;un nombre important d’accès directs via des indices (encore plus si la liste est grande).</p>
<p>En théorie le parcours via itérateur devrait être un poil plus rapide sur une ArrayList que sur une LinkedList de par sa structure contiguë. </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>La classe Class</title>
		<link>https://blog.developpez.com/comprendre/p9625/java/la_classe_class</link>
		<comments>https://blog.developpez.com/comprendre/p9625/java/la_classe_class#comments</comments>
		<pubDate>Sun, 02 Jan 2011 21:25:33 +0000</pubDate>
		<dc:creator><![CDATA[wafiwafi]]></dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[La classe Class est une classe Java tout ce qu&#8217;il y a de plus normale. Par contre, une bonne partie de ses méthodes sont natives. Un objet Class est instancié au moment où la classe correspondante est chargée par la JVM. Les objets de la classe Class ont des caractéristiques définies par Class comme par exemple le nom de la classe en question, sa localisation en mémoire,&#8230;. Aucune autre classe n&#8217;est une instance de la [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>La classe Class est une classe Java tout ce qu&rsquo;il y a de plus normale. Par contre, une bonne partie de ses méthodes sont natives.<br />
Un objet Class est instancié au moment où la classe correspondante est chargée par la JVM.<br />
Les objets de la classe Class ont des caractéristiques définies par Class comme par exemple le nom de la classe en question, sa localisation en mémoire,&#8230;.<br />
Aucune autre classe n&rsquo;est une instance de la classe Class mais toute instance d&rsquo;une classe possède une référence vers une instance de classe Class qui définit sa signature en quelque sorte. </p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>API, bibliothèque ou encore frameswork</title>
		<link>https://blog.developpez.com/comprendre/p9624/java/api_bibliotheque_ou_encore_frameswork</link>
		<comments>https://blog.developpez.com/comprendre/p9624/java/api_bibliotheque_ou_encore_frameswork#comments</comments>
		<pubDate>Sun, 02 Jan 2011 20:46:42 +0000</pubDate>
		<dc:creator><![CDATA[wafiwafi]]></dc:creator>
				<category><![CDATA[JAVA]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[API: API est une bibliothèque qui regroupe des classes, des méthodes, des interfaces&#8230;susceptibles d&#8217;être utilisés par les programmeurs. Java dispose de plusieurs API (plusieurs bibliothèques); vous entendrez souvent parler des API java. Framework : Comme vous allez découvrir, Framework est une bibliothèque pas comme les autres! Analogie intéressante que j&#8217;ai trouvée sur le net : L&#8217;objectif est de faire un bon gâteau. Généralement, les personnes qui ne savent pas cuisiner ou qui aiment particulièrement une [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong>API:</strong></p>
<p>API est une bibliothèque qui regroupe des classes, des méthodes, des interfaces&#8230;susceptibles d&rsquo;être utilisés par les programmeurs.<br />
Java dispose de plusieurs API (plusieurs bibliothèques); vous entendrez souvent parler <strong>des API java</strong>.</p>
<p><strong>Framework :</strong></p>
<p>Comme vous allez découvrir, Framework est une bibliothèque pas comme les autres!</p>
<p>Analogie intéressante que j&rsquo;ai trouvée sur le net :</p>
<p>L&rsquo;objectif est de faire un bon gâteau. Généralement, les personnes qui ne savent pas cuisiner ou qui aiment particulièrement une recette très connue choisissent un gâteau tout prêt qui est vendu dans un sachet qu&rsquo;il suffit de mettre au four, c&rsquo;est ce que l&rsquo;on appelle en développement web un CMS ou Système de Gestion de Contenu. C&rsquo;est très pratique et on y a tous goûté un jour mais il est quasi-impossible de changer la recette, au mieux vous pouvez rajouter un peu de nappage sur le dessus mais ça reste succinct&#8230; et frustrant. De plus, avouons-le, c&rsquo;est loin d&rsquo;être de la grande cuisine, c&rsquo;est correct mais ça en reste là. Enfin, et c&rsquo;est souvent le plus gênant, les sachets vendus sont pour 4 et comment faire lorsque vous êtes 6 ou 2 ?</p>
<p>Heureusement tout ces inconvénients disparaissent lorsque l&rsquo;on sait cuisiner. On choisit la recette qui nous plaît, les ingrédients parmi les meilleurs et on fait un bon gâteau. Le problème de cette méthode est qu&rsquo;elle prend du temps. Or, il y a des combinaisons d&rsquo;ingrédients que l&rsquo;on retrouve tout le temps comme mélanger des œufs et de la farine ou monter des blancs en neige. Si seulement on pouvait directement avoir accès à ces ingrédients tout prêts !</p>
<p>En cuisine, ce n&rsquo;est pas évident et cela demanderait un frigo énorme, mais en développement web on a trouvé la parade : les frameworks .</p>
<p>Un framework est donc un regroupement de macro-ingrédients qui forment <strong>un tout cohérent</strong> et que l&rsquo;on a juste a assembler selon nos besoins pour faire un gâteau avec notre propre recette.<br />
Avantages d&rsquo;un framework</p>
<p>Liste non exhaustive :</p>
<p>* Le premier avantage est la liberté : c&rsquo;est vous qui décidez de la recette pour arriver au gâteau souhaité et personne d&rsquo;autre, si vous n&rsquo;aimez pas le café il suffit de ne pas en mettre, c&rsquo;est tout simple. Ce soir vous êtes 9 ? Une petite conversion et le tour est joué. Aïe, ce macro-ingrédient n&rsquo;existe pas encore. Aucun problème il suffit de le créer vous-même ;<br />
* Le deuxième est la rapidité : faire votre gâteau à partir des ingrédients de base prendrait trop de temps, l&rsquo;objectif est quand même d&rsquo;être rassasié rapidement . Les macro-ingrédients sont le compromis idéal ;<br />
* Le troisième est la qualité : les macro-ingrédients ont été assemblés par des personnes très compétentes qui ont normalement envisagé toutes les possibilités d&rsquo;assemblage. De plus, ceux-ci sont distincts donc vous pouvez facilement modifier/améliorer le vôtre pour ensuite éventuellement le partager ou directement récupérer celui d&rsquo;un ami ;<br />
* Le quatrième est la cohérence : pour éviter les fautes de goût, tous les macro-ingrédients ont été assemblés dans un but commun qui est de faire de bons gâteau ;<br />
* Le cinquième est la pérennité : tout le monde peut monter des blancs en neige, mais il faut toujours retenir ce qu&rsquo;il faut mettre à la bonne température, combien de temps tourner dans un sens,&#8230; le macro-ingrédients « blancs en neige » est toujours fait de la même manière, la meilleure. Et si jamais un jour il en existe un nouvelle encore meilleure, elle sera utilisée sans même que vous le sachiez.</p>
<p><strong>Ne pas confondre API et framework :</strong></p>
<p>Framework = ensemble d&rsquo;éléments assemblés dans un but commun; il s&rsquo;agit d&rsquo;un kit!<br />
API= ensemble d&rsquo;éléments de bases assemblés dans un but commun (faciliter la programmation) mais avec beaucoup moins de cohérence qu&rsquo;un framework.</p>
<p>Un framework est beaucoup plus ciblé qu&rsquo;un API.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
