<?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>Probando Código &#187; Certificación SCJP</title>
	<atom:link href="http://www.probandocodigo.com/category/certificacion-scjp/feed" rel="self" type="application/rss+xml" />
	<link>http://www.probandocodigo.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 17:40:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ejemplo de una pregunta de certificación SCJP</title>
		<link>http://www.probandocodigo.com/2008/10/ejemplo-de-una-pregunta-de-certificacin-scjp.html</link>
		<comments>http://www.probandocodigo.com/2008/10/ejemplo-de-una-pregunta-de-certificacin-scjp.html#comments</comments>
		<pubDate>Wed, 22 Oct 2008 03:42:46 +0000</pubDate>
		<dc:creator>Benjamín Zepeda</dc:creator>
				<category><![CDATA[Certificación SCJP]]></category>
		<category><![CDATA[Certificaciones Java]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[SCJP]]></category>

		<guid isPermaLink="false">http://www.probandocodigo.com/2008/10/ejemplo-de-una-pregunta-de-certificacin-scjp.html</guid>
		<description><![CDATA[Me han preguntado por email, que como son las preguntas en una certificación, así que he decidido poner dos que vienen en la versión test de un producto que se vende gratuita, por lo que creo que no estoy rompiendo alguna regla&#8230;
Alguien sabe las respuestas?
Para ver la imagen bien, hacer click en la imagen.
La primera:
 [...]]]></description>
			<content:encoded><![CDATA[<p>Me han preguntado por email, que como son las preguntas en una certificación, así que he decidido poner dos que vienen en la versión test de un producto que se vende gratuita, por lo que creo que no estoy rompiendo alguna regla&#8230;
<p>Alguien sabe las respuestas?
<p>Para ver la imagen bien, hacer click en la imagen.
<p>La primera:
<p><a href="http://probandocodigo.com/ProbandoCodigo_Images/EjemplodeunapreguntadecertificacinSCJP_1313A/image.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="411" alt="image" src="http://probandocodigo.com/ProbandoCodigo_Images/EjemplodeunapreguntadecertificacinSCJP_1313A/image_thumb.png" width="505" border="0"></a> </p>
<p><span id="more-91"></span>
<p>La Segunda:</p>
<p><a href="http://probandocodigo.com/ProbandoCodigo_Images/EjemplodeunapreguntadecertificacinSCJP_1313A/image_3.png"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="422" alt="image" src="http://probandocodigo.com/ProbandoCodigo_Images/EjemplodeunapreguntadecertificacinSCJP_1313A/image_thumb_3.png" width="519" border="0"></a></p>
<p>&nbsp;</p>
<p>Fuente: <a title="http://www.ucertify.com/" href="http://www.ucertify.com/">http://www.ucertify.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.probandocodigo.com/2008/10/ejemplo-de-una-pregunta-de-certificacin-scjp.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Examenes De Practica Para La Certificacion SCJP</title>
		<link>http://www.probandocodigo.com/2008/05/examenes-de-practica-para-la.html</link>
		<comments>http://www.probandocodigo.com/2008/05/examenes-de-practica-para-la.html#comments</comments>
		<pubDate>Thu, 15 May 2008 12:29:00 +0000</pubDate>
		<dc:creator>Benjamín Zepeda</dc:creator>
				<category><![CDATA[Certificación SCJP]]></category>
		<category><![CDATA[Certificacion Java]]></category>
		<category><![CDATA[Certified]]></category>
		<category><![CDATA[Certified Java]]></category>
		<category><![CDATA[Programador]]></category>
		<category><![CDATA[Programmer]]></category>
		<category><![CDATA[SCJP]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://probandocodigo.wordpress.com/2008/05/15/examenes-de-practica-para-la-certificacion-scjp/</guid>
		<description><![CDATA[                                   
        Aquí iré creando una lista con exámenes que sirve para practicar a la hora de enfrentarse a una certificación de Java SCJP 1.5 en adelante, ya que practicar con test de la versión 1.4 no es conveniente debido a que es antigua y cambia en varios sentidos.
Cabe mencionar que todos los examenes de [...]]]></description>
			<content:encoded><![CDATA[<p>                                   <a href="http://probandocodigo.com/ProbandoCodigo_Images/ExamenesDePracticaParaLaCertificacionSCJ_5671/elexamen.jpg"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" src="http://probandocodigo.com/ProbandoCodigo_Images/ExamenesDePracticaParaLaCertificacionSCJ_5671/elexamen_thumb.jpg" border="0" alt="el-examen" width="232" height="233" /></a></p>
<p align="justify">        Aquí iré creando una lista con exámenes que sirve para practicar a la hora de enfrentarse a una certificación de Java SCJP 1.5 en adelante, ya que practicar con test de la versión 1.4 no es conveniente debido a que es antigua y cambia en varios sentidos.</p>
<p align="justify">Cabe mencionar que todos los examenes de Java son en ingles, si alguien sabe en español o mas en ingles es libre de ponerlo y yo los iré añadiendo a la lista.</p>
<ol>
<li><a href="http://www.javablackbelt.com/QuestionnaireDefDisplay.wwa?questPublicId=00119" target="_blank">Java 5 Basic Exam by JavaBlackBelt.com (40 Preguntas)</a></li>
<li>Whizlabs SCJP 5.0 (310-055) Exam Simulator Trial Version (87 Preguntas)</li>
<li><a href="http://www.javabeat.net/javabeat/scjp5/mocks/mockexams/MockExam01.html" target="_blank">Java 5 (310-055) SCJP Mock Exam by Javabeat.net (14 Preguntas)</a></li>
<li>Java Programmer Exam Simulator(60 Preguntas)</li>
<li><a title="http://www.javabeat.net/javabeat/scjp5/mocks/index.php" href="http://www.javabeat.net/javabeat/scjp5/mocks/index.php" target="_blank">JavaBeat(30 Preguntas)</a></li>
<li><a title="http://www.ucertify.com/" href="http://www.ucertify.com/" target="_blank">UCertify(30 Preguntas de trial)</a></li>
</ol>
<p align="justify">Lo recomendable es leer el tema y luego ir realizando los exámenes, Java es un lenguaje que al principio cuesta, y en la certificación de java siempre tratan de confundirnos con preguntas que tienen trucos.</p>
<div id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:813fa338-4223-46f4-ba0e-984c20525308" class="wlWriterSmartContent" style="display:inline;margin:0;padding:0;">Technorati Tags: Java Certification,<a rel="tag" href="http://technorati.com/tags/Java">Java</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.probandocodigo.com/2008/05/examenes-de-practica-para-la.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Administraci&#243;n De Procesos &#8212;- Parte 1</title>
		<link>http://www.probandocodigo.com/2008/05/administracin-de-procesos-parte-1_10.html</link>
		<comments>http://www.probandocodigo.com/2008/05/administracin-de-procesos-parte-1_10.html#comments</comments>
		<pubDate>Sat, 10 May 2008 17:36:00 +0000</pubDate>
		<dc:creator>Benjamín Zepeda</dc:creator>
				<category><![CDATA[Aprendiendo Programación]]></category>
		<category><![CDATA[Certificación SCJP]]></category>
		<category><![CDATA[Administracion De Procesos]]></category>
		<category><![CDATA[Programacion]]></category>

		<guid isPermaLink="false">http://probandocodigo.wordpress.com/2008/05/10/administracion-de-procesos-parte-1/</guid>
		<description><![CDATA[&#160;&#160; Entender c&#243;mo se manejan los procesos es un objetivo que nos ayudara en cualquier lenguaje de programaci&#243;n, por ejemplo no hay necesidad de estudiar programaci&#243;n orientada a objetos cada vez que se va a aprender java, C#, Visual Basic y otro lenguaje.
Por lo tanto entender los procesos en un formato est&#225;ndar es clave a [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">&#160;&#160; Entender c&#243;mo se manejan los procesos es un objetivo que nos ayudara en cualquier lenguaje de programaci&#243;n, por ejemplo no hay necesidad de estudiar programaci&#243;n orientada a objetos cada vez que se va a aprender java, C#, Visual Basic y otro lenguaje.</p>
<p align="justify">Por lo tanto entender los procesos en un formato est&#225;ndar es clave a la hora de programar threads en cualquier lenguaje de programaci&#243;n.</p>
<p align="justify">Todos sabemos que en un programa en ejecuci&#243;n no puede estar ocupando la CPU permanentemente, esto es debido a que un usuario necesite realizar m&#225;s de una acci&#243;n a la vez, o tambi&#233;n puede ser el caso que varios usuarios accedan a un sistema simult&#225;neamente.</p>
<p><span id="more-44"></span></p>
<p align="justify"><strong>Definici&#243;n de un proceso:</strong></p>
<p align="justify">Un proceso es un programa en ejecuci&#243;n, pero esto no quiere decir que un programa por s&#237; mismo es un proceso, un programa es una entidad pasiva.</p>
<p align="justify">Por ejemplo un exe es una entidad pasiva guardada en el disco, cuando nosotros ejecutamos el exe entonces se convierte en una entidad activa con un contador de programa que especifica la siguiente instrucci&#243;n a ejecutarse y un conjunto de recursos asociados.</p>
<p align="justify">Entre los tipos de proceso se encuentran:</p>
<ul>
<li>
<div align="justify"><strong><font size="2">Los procesos de tiempo real:</font></strong> Son aquellos en el que tiempo de respuesta es cr&#237;tico para que no superen un tiempo l&#237;mite.</div>
</li>
<li>
<div align="justify"><font size="2"><strong>Los procesos de segundo plano (procesos de c&#225;lculo y servidores</strong>):</font> Son los que no tienen interacci&#243;n con el usuario y cuyo tiempo de respuesta no es cr&#237;tico.</div>
</li>
<li>
<div align="justify"><strong><font size="2">Los procesos interactivos:</font> </strong>Estos no suelen usar mucho tiempo de c&#243;mputo, pero estos procesos al ser requeridos deben tener un tiempo de respuesta r&#225;pido, ya que por lo general es cuando un usuario los pide.</div>
</li>
</ul>
<p align="justify">&#160;</p>
<p align="justify">Estados De Un proceso:</p>
<ul>
<li>
<div align="justify"><strong><font size="2">Nuevo:</font></strong> Es cuando el proceso se est&#225; creando.</div>
</li>
<li>
<div align="justify"><strong><font size="2">Ejecuci&#243;n:</font></strong> Es cuando se est&#225;n ejecutando instrucciones.</div>
</li>
<li>
<div align="justify"><strong><font size="2">Espera:</font></strong> Es cuando el proceso est&#225; esperando que ocurra alg&#250;n evento.</div>
</li>
<li>
<div align="justify"><strong><font size="2">Listo:</font></strong> Es cuando el proceso est&#225; a la espera de ser asignado a un procesador.</div>
</li>
<li>
<div align="justify"><strong><font size="2">Terminado:</font></strong> Es cuando el proceso ha terminado su ejecuci&#243;n.</div>
</li>
</ul>
<p align="justify">&#160;</p>
<p align="justify">Hay que recalcar que estos nombres son arbitrarios, por lo que en cada sistema operativo pueden cambiar, sin embargo todo sistema operativo los tiene, es por eso que a la hora de programar en java no representa ning&#250;n problema.</p>
<div class="blogger-post-footer"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.probandocodigo.com/2008/05/administracin-de-procesos-parte-1_10.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Administración De Procesos &#8212;- Parte 2</title>
		<link>http://www.probandocodigo.com/2008/05/administracin-de-procesos-parte-1.html</link>
		<comments>http://www.probandocodigo.com/2008/05/administracin-de-procesos-parte-1.html#comments</comments>
		<pubDate>Sat, 10 May 2008 23:56:00 +0000</pubDate>
		<dc:creator>Benjamín Zepeda</dc:creator>
				<category><![CDATA[Aprendiendo Programación]]></category>
		<category><![CDATA[Certificación SCJP]]></category>
		<category><![CDATA[Administracion De Procesos]]></category>
		<category><![CDATA[Procesos de Software]]></category>

		<guid isPermaLink="false">http://probandocodigo.wordpress.com/2008/05/10/administracion-de-procesos-parte-2/</guid>
		<description><![CDATA[&#160; Bloque de control de un proceso
En un sistema operativo cada proceso representa un bloque de control de proceso, en ingles se conoce como PCB (Process Control Block), o tambi&#233;n denominado bloque de control de tarea.

Estado De Proceso: Este estado puede ser nuevo, ejecuci&#243;n, espera, listo o terminado.
Contador de programa: Indica la direcci&#243;n de la [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">&#160; Bloque de control de un proceso</p>
<p align="justify">En un sistema operativo cada proceso representa un bloque de control de proceso, en ingles se conoce como PCB (Process Control Block), o tambi&#233;n denominado bloque de control de tarea.</p>
<div class="wlWriterSmartContent" id="scid:8747F07C-CDE8-481f-B0DF-C6CFD074BF67:3e0a4fa9-f847-42cc-99b3-084d6034702c" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"><a title="Process Control Block" href="http://probandocodigo.com/ProbandoCodigo_Images/AdministracionDeProcesos_8E05/tabla18x6.jpg" rel="thumbnail"><img src="http://probandocodigo.com/ProbandoCodigo_Images/AdministracionDeProcesos_8E05/tabla1.png" border="0" /></a></div>
<p align="justify">Estado De Proceso: Este estado puede ser nuevo, ejecuci&#243;n, espera, listo o terminado.</p>
<p align="justify">Contador de programa: Indica la direcci&#243;n de la siguiente instrucci&#243;n a ejecutar.</p>
<p><span id="more-43"></span></p>
<p align="justify">Registros de la CPU: Los registros var&#237;an en n&#250;mero y tipo dependiendo de la arquitectura de la computadora, Incluye acumuladores, registros &#237;ndices, apuntadores de pila y registros de prop&#243;sito general, adem&#225;s de cualquier informaci&#243;n de c&#243;digo de condici&#243;n.</p>
<p align="justify">Informaci&#243;n contable: Esta informaci&#243;n es la que incluye la informaci&#243;n, la cantidad de tiempo del CPU y tiempo real usado as&#237; como l&#237;mites de tiempo, n&#250;meros de cuenta entre otras informaciones.</p>
<p align="justify">Informaci&#243;n de estado E/S: Este bloque incluye la lista de dispositivos de E/S asign&#225;ndola al proceso, una lista de archivos abiertos y otra informaci&#243;n.</p>
<p align="justify">El PCB sirve simplemente como dep&#243;sito de cualquier informaci&#243;n que pueda variar de un proceso a otro.</p>
<p align="center"><font color="#ff8000" size="4"><strong>Conclusi&#243;n</strong></font></p>
<p align="justify">Como pudieron leer a trav&#233;s de las dos entradas de Administraci&#243;n de procesos, esto en programaci&#243;n se conoce como threads o hilos, es por eso que siento m&#225;s conveniente aprenderlo de esta manera para as&#237; sea cual sea el lenguaje aplicarlo sabiendo el por qu&#233; se aplica y en casos de debe utilizar.</p>
<p align="justify">Es necesario programar con threads para que el software sea m&#225;s amigable para el usuario final,&#160; aunque tambi&#233;n resulta peligroso si se abusa de ellos y sin saber en qu&#233; casos usarlos, por ejemplo un caso en el que se podr&#237;a usar es que el usuario este realizando una operaci&#243;n matem&#225;tica que le tome unos cuantos milisegundos mientras est&#225; apuntando en la misma aplicaci&#243;n en una cuadro de texto algo que le sea necesario, sin los threads esto no podr&#237;a ocurrir ya que la aplicaci&#243;n se congelar&#237;a, sin poder utilizar la aplicaci&#243;n.</p>
<div class="blogger-post-footer"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.probandocodigo.com/2008/05/administracin-de-procesos-parte-1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Usando String, StringBuilder y StringBuffer. Parte 1</title>
		<link>http://www.probandocodigo.com/2008/05/usando-string-stringbuilder-y.html</link>
		<comments>http://www.probandocodigo.com/2008/05/usando-string-stringbuilder-y.html#comments</comments>
		<pubDate>Fri, 02 May 2008 22:43:00 +0000</pubDate>
		<dc:creator>Benjamín Zepeda</dc:creator>
				<category><![CDATA[Certificación SCJP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Certificacion]]></category>
		<category><![CDATA[Certificacion Java]]></category>
		<category><![CDATA[SCJA]]></category>
		<category><![CDATA[SCJD]]></category>
		<category><![CDATA[SCJP]]></category>
		<category><![CDATA[StringBuffer]]></category>
		<category><![CDATA[StringBuilder]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://probandocodigo.wordpress.com/2008/05/02/usando-string-stringbuilder-y-stringbuffer-parte-1/</guid>
		<description><![CDATA[Siguiendo con la serie de posts para la certificación de Java SCJP(1.5 o 1.6) hoy escribire acerca de un tema corto pero importante para esta, aunque en realidad todos los temas son importantes debido a que es un examen autogenerado no sabemos que preguntas nos asignaran a la hora del examen.
En esta primera parte hablare [...]]]></description>
			<content:encoded><![CDATA[<p>Siguiendo con la serie de posts para la certificación de Java SCJP(1.5 o 1.6) hoy escribire acerca de un tema corto pero importante para esta, aunque en realidad todos los temas son importantes debido a que es un examen autogenerado no sabemos que preguntas nos asignaran a la hora del examen.</p>
<p>En esta primera parte hablare de la clase String.</p>
<p>La clase String:</p>
<p>Lo primero que debemos entender de la clase String es que es inmutable.</p>
<p>Que debemos entender por inmutable?</p>
<p>Entendemos por inmutable que al momento de crear un String este puede ser modificado una vez haya sido creado, y esto lo probare en el siguiente ejemplo:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">String MiCadena = <span style="color: #0000ff;">new</span> String();</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">MiCadena = <span style="color: #006080;">"Probando Codigo"</span>; <span style="color: #008000;">// Se crea una nuevo objeto String</span></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">MiCadena = MiCadena.concat(<span style="color: #006080;">"aprendiendo programacion"</span>); <span style="color: #008000;">// Se crea otro String</span></pre>
</div>
</div>
<p>Los objetos String se van almacenando en el heap.</p>
<p>En el siguiente código pueden comprobar que un objeto String no cambia:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">String MiCadena = <span style="color: #0000ff;">new</span> String(<span style="color: #006080;">"Probando Codigo es: "</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">MiCadena.concat(<span style="color: #006080;">"Aprendiendo Programacion"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">System.<span style="color: #0000ff;">out</span>.println(<span style="color: #006080;">"Mi Cadena es "</span> + MiCadena);</pre>
</div>
</div>
<p>Si se compila el codigo de arriba, el resultado seria:</p>
<p><strong><span style="color: #0000ff;"><em>Probando Codigo es:</em></span></strong></p>
<p>La unica forma de anadir es creando un nuevo string:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">String MiCadena = <span style="color: #0000ff;">new</span> String(<span style="color: #006080;">"Probando Codigo es: "</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">MiCadena = MiCadena.concat(<span style="color: #006080;">"Aprendiendo Programacion"</span>);</pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;"></pre>
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">System.<span style="color: #0000ff;">out</span>.println(<span style="color: #006080;">"Mi Cadena es "</span> + MiCadena);</pre>
</div>
</div>
<p>Algunos puntos importantes para la certificación es también tener en cuenta cuando se crean referencia de variables y cuando se crean objetos String:</p>
<p>Ejemplo 1:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">String s = <span style="color: #006080;">"abc"</span>; // Crea un objeto String y una referencia de variable</pre>
</div>
</div>
<p>Ejemplo 2:</p>
<div style="border: 1px solid gray; margin: 20px 0px 10px; padding: 4px; overflow: auto; font-size: 8pt; width: 97.5%; cursor: text; max-height: 200px; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<div style="border-style: none; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: #f4f4f4;">
<pre style="border-style: none; margin: 0em; padding: 0px; overflow: visible; font-size: 8pt; width: 100%; color: black; line-height: 12pt; font-family: consolas,'Courier New',courier,monospace; background-color: white;">String s = <span style="color: #0000ff;">new</span> String(<span style="color: #006080;">"abc"</span>); // se crean dos objetos y una referencia de variable</pre>
</div>
</div>
<p><strong><em></em></strong></p>
<p>Lista de métodos importantes en la clase String:</p>
<p><span style="color: #0000ff;"><strong>· <span style="color: #ff0000;">charAt()</span> Returns the character located at the specified index.</strong></span></p>
<p><span style="color: #0000ff;"><strong>· <span style="color: #ff0000;">concat()</span> Appends one String to the end of another ( &#8220;+&#8221; also works).</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">equalsIgnoreCase()</span> Determines the equality of two Strings, ignoring case.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">length()</span> Returns the number of characters in a String.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">replace()</span> Replaces occurrences of a character with a new character.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">substring()</span> Returns a part of a String.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">toLowerCase()</span> Returns a String with uppercase characters converted.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">ofString()</span> Returns the value of a String.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">toUpperCase()</span> Returns a String with lowercase characters converted.</strong></span></p>
<p><span style="color: #0000ff;"><strong>·<span style="color: #ff0000;">trim()</span> Removes whitespace from the ends of a String.</strong></span></p>
<p>En esta primera parte se ha tomado únicamente la clase String, para profundizar más sobre el tema recomiendo leer el capítulo 6 del libro SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) que pueden encontrarlo en internet.</p>
<p>Fuente: SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.probandocodigo.com/2008/05/usando-string-stringbuilder-y.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Generics en Java.</title>
		<link>http://www.probandocodigo.com/2008/05/generics-en-java.html</link>
		<comments>http://www.probandocodigo.com/2008/05/generics-en-java.html#comments</comments>
		<pubDate>Thu, 01 May 2008 14:44:00 +0000</pubDate>
		<dc:creator>Benjamín Zepeda</dc:creator>
				<category><![CDATA[Certificación SCJP]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Certificacion]]></category>
		<category><![CDATA[Certificacion Java]]></category>
		<category><![CDATA[SCJA]]></category>
		<category><![CDATA[SCJD]]></category>
		<category><![CDATA[SCJP]]></category>
		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://probandocodigo.wordpress.com/2008/05/01/generics-en-java/</guid>
		<description><![CDATA[Este es un tema muy importante en la certificación SCJP, y fue en su momento una de las novedades en Java 5.
Antes de los genéricos las colecciones se creaban de las siguiente manera:
List myList = new ArrayList(); // No se podía declarar un tipo
myList.add(&#8220;Fred&#8221;);               // Podemos ingresar String
myList.add(new Dog());          // Podemos ingresar clases
myList.add(new Integer(42));   // [...]]]></description>
			<content:encoded><![CDATA[<p>Este es un tema muy importante en la certificación SCJP, y fue en su momento una de las novedades en Java 5.</p>
<p align="justify">Antes de los genéricos las colecciones se creaban de las siguiente manera:</p>
<p><strong><em>List myList = new ArrayList(); // No se podía declarar un tipo<br />
<span style="color: #008000;">myList.add(&#8220;Fred&#8221;);               // Podemos ingresar String<br />
myList.add(new Dog());          // Podemos ingresar clases<br />
myList.add(new Integer(42));   // Integers&#8230;</span></em></strong></p>
<p align="justify">Lo que nos dejaba claro que una colección no genérica podía aceptar cualquier tipo de objeto, Una colección por lo tanto podía tener cualquiera que no fuera primitivo.</p>
<p align="justify">Sin los genéricos se pueden recuperar los datos de la lista, pero necesitaríamos hacer un cast:</p>
<p align="justify"><strong><em><span style="color: #008000;">﻿String s = (String) myList.get(0);      //Antes de los genericos</span></em></strong></p>
<p align="justify">Cuando llegaron los genéricos en Java 5 esto se termino, y podemos verlo en el siguiente ejemplo:</p>
<p><strong><em><span style="color: #008000;">List&lt;String&gt; myList = new ArrayList&lt;String&gt;();<br />
myList.add(&#8220;Fred&#8221;);     // Lo acepta debido a que es String<br />
myList.add(new Dog()); // compiler error!! Debido a que no es String</span></em></strong></p>
<p align="justify">Observado en el código de arriba es simple concluir que al ingresar el tipo de objetos en medio de los <span style="color: #008000;">&lt; &gt;</span> estamos forzando a la colección a que solo acepte ese tipo de objeto que en el ejemplo fue String.</p>
<p align="justify">Hoy que el compilador sabe que solo admite String para recuperar los datos no necesitamos mas que digitar:</p>
<p align="justify"><strong><em><span style="color: #008000;">String s = myList.get(0);</span></em></strong></p>
<p align="justify">Debido a que no es necesario un cast ya que en la lista solo existen String.</p>
<p><strong><em><span style="color: #008000;">for (String s : myList) {<br />
int x = s.length();<br />
// No necesita cast antes de llamar al método<br />
// debido a que el compilador sabe que  &#8220;s&#8221; es un String viniendo de MyList<br />
}</span></em></strong></p>
<p align="justify">Debo aclarar que en este post unicamente se ha realizado una breve introducción, lo recomendable es leer todo el capitulo 6(o del sitio de Sun) donde se habla tanto de colecciones y genéricos.</p>
<p align="justify">Ejemplo tomado del libro:</p>
<p align="justify">SCJP Sun Certified Programmer for Java 5 Study Guide (Exam 310-055) </p>
]]></content:encoded>
			<wfw:commentRss>http://www.probandocodigo.com/2008/05/generics-en-java.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
