<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Marimuthu From Teknoturf</title>
	<atom:link href="http://teknoturfian.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://teknoturfian.wordpress.com</link>
	<description>Wherever Software Happens.....</description>
	<lastBuildDate>Fri, 15 Oct 2010 07:50:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='teknoturfian.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/eae1fd1a18cb2b85a21ec81f02f79cb0?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Marimuthu From Teknoturf</title>
		<link>http://teknoturfian.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://teknoturfian.wordpress.com/osd.xml" title="Marimuthu From Teknoturf" />
	<atom:link rel='hub' href='http://teknoturfian.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Comparing JSF, Spring MVC, Stripes, Struts 2, Tapestry and Wicket</title>
		<link>http://teknoturfian.wordpress.com/2009/10/15/115/</link>
		<comments>http://teknoturfian.wordpress.com/2009/10/15/115/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 04:44:09 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=115</guid>
		<description><![CDATA[<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=115&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<iframe src='http://www.slideshare.net/slideshow/embed_code/727772' width='640' height='525'></iframe>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=115&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/10/15/115/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>Vector or ArrayList &#8212; which is better?</title>
		<link>http://teknoturfian.wordpress.com/2009/07/03/vector-or-arraylist-which-is-better/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/03/vector-or-arraylist-which-is-better/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 12:44:09 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=107</guid>
		<description><![CDATA[Q : Vector or ArrayList &#8212; which is better and why? A: Sometimes Vector is better; sometimes ArrayList is better; sometimes you don&#8217;t want to use either. I hope you weren&#8217;t looking for an easy answer because the answer depends &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/03/vector-or-arraylist-which-is-better/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=107&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#800080;"><em><strong>Q : Vector or ArrayList &#8212; which is better and why?</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>A: Sometimes Vector is better; sometimes ArrayList is better; sometimes you don&#8217;t want to use either. I hope you weren&#8217;t looking for an easy answer because the answer depends upon what you are doing. There are four factors to consider:</strong></em></span></p>
<p><span style="color:#800080;"><em><strong> * API<br />
* Synchronization<br />
* Data growth<br />
* Usage patterns</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>Let&#8217;s explore each in turn.<br />
API</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>In The Java Programming Language (Addison-Wesley, June 2000) Ken Arnold, James Gosling, and David Holmes describe the Vector as an analog to the ArrayList. So, from an API perspective, the two classes are very similar. However, there are still some major differences between the two classes.<br />
Synchronization</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>Vectors are synchronized. Any method that touches the Vector&#8217;s contents is thread safe. ArrayList, on the other hand, is unsynchronized, making them, therefore, not thread safe. With that difference in mind, using synchronization will incur a performance hit. So if you don&#8217;t need a thread-safe collection, use the ArrayList. Why pay the price of synchronization unnecessarily?<br />
Data growth</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>Internally, both the ArrayList and Vector hold onto their contents using an Array. You need to keep this fact in mind while using either in your programs. When you insert an element into an ArrayList or a Vector, the object will need to expand its internal array if it runs out of room. A Vector defaults to doubling the size of its array, while the ArrayList increases its array size by 50 percent. Depending on how you use these classes, you could end up taking a large performance hit while adding new elements. It&#8217;s always best to set the object&#8217;s initial capacity to the largest capacity that your program will need. By carefully setting the capacity, you can avoid paying the penalty needed to resize the internal array later. If you don&#8217;t know how much data you&#8217;ll have, but you do know the rate at which it grows, Vector does possess a slight advantage since you can set the increment value.<br />
Usage patterns</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>Both the ArrayList and Vector are good for retrieving elements from a specific position in the container or for adding and removing elements from the end of the container. All of these operations can be performed in constant time &#8212; O(1). However, adding and removing elements from any other position proves more expensive &#8212; linear to be exact: O(n-i), where n is the number of elements and i is the index of the element added or removed. These operations are more expensive because you have to shift all elements at index i and higher over by one element. So what does this all mean?</strong></em></span></p>
<p><span style="color:#800080;"><em><strong>It means that if you want to index elements or add and remove elements at the end of the array, use either a Vector or an ArrayList. If you want to do anything else to the contents, go find yourself another container class. For example, the LinkedList can add or remove an element at any position in constant time &#8212; O(1).O(i) where i is the index of the element. Traversing an ArrayList is also easier since you can simply use an index instead of having to create an iterator. The LinkedList also creates an internal object for each element inserted. So you have to be aware of the extra garbage being created.  However, indexing an element is a bit slower &#8211;<br />
Finally, in &#8220;PRAXIS 41&#8243; from Practical Java (Addison-Wesley, Feb. 2000) Peter Haggar suggests that you use a plain old array in place of either Vector or ArrayList &#8212; especially for performance-critical code. By using an array you can avoid synchronization, extra method calls, and suboptimal resizing. You just pay the cost of extra development time.</strong></em></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=107&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/03/vector-or-arraylist-which-is-better/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>Sun&#8217;s JavaFX: Is it Java? JavaScript? Or something new?</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/suns-javafx-is-it-java-javascript-or-something-new/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/suns-javafx-is-it-java-javascript-or-something-new/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:45:33 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=98</guid>
		<description><![CDATA[We&#8217;re told that the future of applications relies on app servers and rich, graphical clients. But will market share or common sense determine which method of building RIAs that developers choose most? All the major rich Internet applications platforms that &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/01/suns-javafx-is-it-java-javascript-or-something-new/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=98&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p><span style="color:#ff0000;"><em><strong>We&#8217;re told that the future of applications relies on app servers and rich, graphical clients. But will market share or common sense determine which method of building RIAs that developers choose most?</strong></em></span></p>
<div style="float:left;margin-right:8px;"><span style="color:#ff0000;"><em><strong> </strong></em></span></p>
<div id="google_ads_div_BN_Article_Box_336x280"><!--JavaScript Tag // Tag for network 5159: BetaNews // Website: BetaNews // Page: ros // Placement: mpu (416178) // created at: Sep 30, 2008 4:03:29 PM--> <span style="color:#ff0000;"> </span><span style="color:#ff0000;"><em><strong></strong></em></span> <!-- End of JavaScript Tag --></div>
</div>
<p><span style="color:#ff0000;"><em><strong>All the major rich Internet applications platforms that are in active use today are leveraged upon some existing, already well-deployed component. Adobe&#8217;s AIR relies on the ubiquity of Flash video and the underlying language constructs that have supported Flash in the past, such as Flex. Microsoft&#8217;s Silverlight is a vehicle for extending a part of the .NET Framework and Common Language Runtime &#8212; and thus with them, a little bit more of Windows &#8212; into everyone&#8217;s computing environment; and once Microsoft secures that open pipeline, it may be able to push C# and other technologies through it.</strong></em></span></p>
<p><span style="color:#ff0000;"><em><strong>Up to now, <a title="Microsoft, Google Join OpenAjax Alliance" href="http://www.betanews.com/article/Microsoft_Google_Join_OpenAjax_Alliance/1174502424">Google has been the one</a> with the RIA platform that has tried to leverage Java, along with JavaScript (which is related in style but not in architecture, and which is <a href="https://developer.mozilla.org/en/JavaScript" target="_blank">essentially a product of Mozilla</a>). <a href="http://code.google.com/webtoolkit/" target="_blank">Google Web Toolkit</a> uses Java tools as a staging ground for Asynchronous JavaScript (AJAX) applications. Mozilla has been testing the waters for some time with <a href="http://www.betanews.com/article//">its own RIA platform experiment called XULRunner</a>; and <a href="http://www.curl.com/products_platform.php" target="_blank">Curl has had the wherewithal to go it alone</a>, with both a development environment and a runtime that rely on no single pre-existing platform. (Some dispute whether AJAX truly qualifies as RIA, but I tend to say that if an application can run outside the browser with full graphical resplendence, as though it had been installed on the user&#8217;s computer directly, then it&#8217;s an RIA.)</strong></em></span></p>
<p><span style="color:#ff0000;"><em><strong>To this mix of players, enter Sun Microsystems. Its JavaFX platform formally exited beta on Monday, and its objective is to further extend the Java 6 runtime platform onto more systems. Rich graphical applications built with JavaFX, like other Java apps since the 1990s, can run outside of the Web browser though maintain their links to servers through HTTP.</strong></em></span></p>
<p><span style="color:#ff0000;"><em><strong>But JavaFX Script &#8212; the programming language for this new platform &#8212; is not Java, and it&#8217;s not JavaScript. While it&#8217;s not exactly a foreign language, especially for Web developers who find themselves learning new ones practically every month, it is &#8212; like Flex for Adobe &#8212; its own beast.</strong></em></span></p>
<p><span style="color:#ff0000;"><em><strong> </strong></em></span></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=98&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/suns-javafx-is-it-java-javascript-or-something-new/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>Java Programming Resources from Sun</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/java-programming-resources-from-sun/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/java-programming-resources-from-sun/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:44:23 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=96</guid>
		<description><![CDATA[Java Programming Resources from Sun General Java Resorces Sun&#8217;s main Java homepage. Sun&#8217;s Java FAQ&#8217;s. Collection of Frequently Asked Questions on various Java-related topics. Sun&#8217;s top-level Java documentation page. Index of Sun&#8217;s Java-related products and API&#8217;s. The JavaOne Conferences. Java &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/01/java-programming-resources-from-sun/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=96&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p><em><strong><big>Java Programming Resources from Sun</big></strong></em></p>
<p align="justify"><em><strong>General Java Resorces</strong></em></p>
<ul>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/" target="_blank">Sun&#8217;s main Java homepage</a>.</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/reference/faqs/index.html" target="_blank">Sun&#8217;s Java FAQ&#8217;s.</a> Collection of Frequently Asked Questions on various Java-related topics.</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/docs/" target="_blank">Sun&#8217;s top-level Java documentation     page.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/" target="_blank">Index of Sun&#8217;s Java-related     products and API&#8217;s.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/javaone/" target="_blank">The JavaOne Conferences.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/nav/used/" target="_blank">Java application success stories.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/aboutJava/communityprocess/" target="_blank">The Java     Community Process.</a> How to be involved in the Java specification     development.</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://suned.sun.com/US/" target="_blank">Sun&#8217;s Java training courses (US).</a> (If Sun&#8217;s courses seem a bit steep, or you want something on-site, or prefer an instructor with more hands-on Java development experience, also see <a href="http://courses.coreservlets.com/" target="_blank">these     courses</a>.)</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/learning/coursecert/index.html" target="_blank">Java     Certification.</a> Although it is highly controversial if certification actually proves anything about your Java skills, in many cases certification is useful in getting a new or better job.</strong></em></p>
</li>
</ul>
<p align="justify"><em><strong>Specific Java Products &amp; Technologies</strong></em></p>
<ul>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/j2se/index.jsp" target="_blank">J2SE</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/j2ee/index.jsp" target="_blank">J2EE</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/j2me/index.jsp" target="_blank">J2ME</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/servlet/" target="_blank">Java Servlets.</a> (Also     see <a href="http://resources.coreservlets.com/" target="_blank">this servlet programming     resources page</a>.)</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/jsp/" target="_blank">JavaServer Pages (JSP).</a> (Also see <a href="http://resources.corejsp.com/" target="_blank">this JSP programming     resources page</a>.)</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/j2ee/javaserverfaces/" target="_blank">JavaServer Faces (JSF)</a> (Also see <a href="http://www.coreservlets.com/JSF-Tutorial/" target="_blank">this JSF     tutorial</a>.)</strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/xml/index.jsp" target="_blank">Java and XML</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/jfc/" target="_blank">Java Foundation Classes     (Swing).</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/jdbc/index.jsp" target="_blank">JDBC.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/beans/" target="_blank">JavaBeans.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/javahelp/index.jsp" target="_blank">JavaHelp.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/javamail/index.jsp" target="_blank">JavaMail.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/ejb/" target="_blank">Enterprise JavaBeans.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/jdk/idl/" target="_blank">Java IDL.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/java-media/index.html" target="_blank">Java Media     and Advanced Imaging.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/products/java-media/3D/" target="_blank">Java 3D.</a></strong></em></p>
</li>
<li>
<p align="justify"><em><strong><a href="http://java.sun.com/javaspaces/" target="_blank">Jini and JavaSpaces.</a></strong></em></p>
</li>
</ul>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=96&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/java-programming-resources-from-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>SCJP 1.6 Objectives For Java Certification</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/scjp-1-6-objectives-for-java-certification/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/scjp-1-6-objectives-for-java-certification/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:43:32 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=94</guid>
		<description><![CDATA[Section 1: ************ Declarations, Initialization and Scoping Develop code that declares classes (including abstract and all forms of nested classes), interfaces, and enums, and includes the appropriate use of package and import statements (including static imports). Develop code that declares &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/01/scjp-1-6-objectives-for-java-certification/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=94&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p><em><strong>Section 1:<br />
************</p>
<p>Declarations, Initialization and Scoping<br />
Develop code that declares classes (including abstract and all forms of nested classes), interfaces, and enums, and includes the appropriate use of package and import statements (including static imports).<br />
Develop code that declares an interface. Develop code that implements or extends one or more interfaces. Develop code that declares an abstract class. Develop code that extends an abstract class.<br />
Develop code that declares, initializes, and uses primitives, arrays, enums, and objects as static, instance, and local variables. Also, use legal identifiers for variable names.<br />
Develop code that declares both static and non-static methods, and &#8211; if appropriate &#8211; use method names that adhere to the JavaBeans naming standards. Also develop code that declares and uses a variable-length argument list.<br />
Given a code example, determine if a method is correctly overriding or overloading another method, and identify legal return values (including covariant returns), for the method.<br />
Given a set of classes and superclasses, develop constructors for one or more of the classes. Given a class declaration, determine if a default constructor will be created, and if so, determine the behavior of that constructor. Given a nested or non-nested class listing, write code to instantiate the class.</p>
<p>Section 2:<br />
**********<br />
Flow Control<br />
Develop code that implements an if or switch statement; and identify legal argument types for these statements.<br />
Develop code that implements all forms of loops and iterators, including the use of for, the enhanced for loop (for-each), do, while, labels, break, and continue; and explain the values taken by loop counter variables during and after loop execution.<br />
Develop code that makes use of assertions, and distinguish appropriate from inappropriate uses of assertions.<br />
Develop code that makes use of exceptions and exception handling clauses (try, catch, finally), and declares methods and overriding methods that throw exceptions.<br />
Recognize the effect of an exception arising at a specified point in a code fragment. Note that the exception may be a runtime exception, a checked exception, or an error.<br />
Recognize situations that will result in any of the following being thrown: ArrayIndexOutOfBoundsException,ClassCastException, IllegalArgumentException, IllegalStateException, NullPointerException, NumberFormatException, AssertionError, ExceptionInInitializerError, StackOverflowError or NoClassDefFoundError. Understand which of these are thrown by the virtual machine and recognize situations in which others should be thrown programatically.</p>
<p>Section 3:<br />
***********<br />
API Contents<br />
Develop code that uses the primitive wrapper classes (such as Boolean, Character, Double, Integer, etc.), and/or autoboxing &amp; unboxing. Discuss the differences between the String, StringBuilder, and StringBuffer classes.<br />
Given a scenario involving navigating file systems, reading from files, writing to files, or interacting with the user, develop the correct solution using the following classes (sometimes in combination), from java.io: BufferedReader, BufferedWriter, File, FileReader, FileWriter, PrintWriter, and Console.<br />
Develop code that serializes and/or de-serializes objects using the following APIs from java.io: DataInputStream, DataOutputStream, FileInputStream, FileOutputStream, ObjectInputStream, ObjectOutputStream and Serializable.<br />
Use standard J2SE APIs in the java.text package to correctly format or parse dates, numbers, and currency values for a specific locale; and, given a scenario, determine the appropriate methods to use if you want to use the default locale or a specific locale. Describe the purpose and use of the java.util.Locale class.<br />
Write code that uses standard J2SE APIs in the java.util and java.util.regex packages to format or parse strings or streams. For strings, write code that uses the Pattern and Matcher classes and the String.split method. Recognize and use regular expression patterns for matching (limited to: . (dot), * (star), + (plus), ?, \d, \s, \w, [], ()). The use of *, +, and ? will be limited to greedy quantifiers, and the parenthesis operator will only be used as a grouping mechanism, not for capturing content during matching. For streams, write code using the Formatter and Scanner classes and the PrintWriter.format/printf methods. Recognize and use formatting parameters (limited to: %b, %c, %d, %f, %s) in format strings.</p>
<p>Section 4:<br />
*************<br />
Concurrency<br />
Write code to define, instantiate, and start new threads using both java.lang.Thread and java.lang.Runnable.<br />
Recognize the states in which a thread can exist, and identify ways in which a thread can transition from one state to another.<br />
Given a scenario, write code that makes appropriate use of object locking to protect static or instance variables from concurrent access problems.<br />
Given a scenario, write code that makes appropriate use of wait, notify, or notifyAll.</p>
<p>Section 5:<br />
***********<br />
OO Concepts<br />
Develop code that implements tight encapsulation, loose coupling, and high cohesion in classes, and describe the benefits.<br />
Given a scenario, develop code that demonstrates the use of polymorphism. Further, determine when casting will be necessary and recognize compiler vs. runtime errors related to object reference casting.<br />
Explain the effect of modifiers on inheritance with respect to constructors, instance or static variables, and instance or static methods.<br />
Given a scenario, develop code that declares and/or invokes overloaded methods and code that declares and/or invokes superclass, or overloaded constructors.<br />
Develop code that implements “is-a” and/or “has-a” relationships.</p>
<p>Section 6:<br />
***********<br />
Collections / Generics<br />
Given a design scenario, determine which collection classes and/or interfaces should be used to properly implement that design, including the use of the Comparable interface.<br />
Distinguish between correct and incorrect overrides of corresponding hashCode and equals methods, and explain the difference between == and the equals method.<br />
Write code that uses the generic versions of the Collections API, in particular, the Set, List, and Map interfaces and implementation classes. Recognize the limitations of the non-generic Collections API and how to refactor code to use the generic versions. Write code that uses the NavigableSet and NavigableMap interfaces.<br />
Develop code that makes proper use of type parameters in class/interface declarations, instance variables, method arguments, and return types; and write generic methods or methods that make use of wildcard types and understand the similarities and differences between these two approaches.<br />
Use capabilities in the java.util package to write code to manipulate a list by sorting, performing a binary search, or converting the list to an array. Use capabilities in the java.util package to write code to manipulate an array by sorting, performing a binary search, or converting the array to a list. Use the java.util.Comparator and java.lang.Comparable interfaces to affect the sorting of lists and arrays. Furthermore, recognize the effect of the “natural ordering” of primitive wrapper classes and java.lang.String on sorting.</p>
<p>Section 7:<br />
***********<br />
Fundamentals<br />
Given a code example and a scenario, write code that uses the appropriate access modifiers, package declarations, and import statements to interact with (through access or inheritance) the code in the example.<br />
Given an example of a class and a command-line, determine the expected runtime behavior.<br />
Determine the effect upon object references and primitive values when they are passed into methods that perform assignments or other modifying operations on the parameters.<br />
Given a code example, recognize the point at which an object becomes eligible for garbage collection, determine what is and is not guaranteed by the garbage collection system, and recognize the behaviors of the Object.finalize() method.<br />
Given the fully-qualified name of a class that is deployed inside and/or outside a JAR file, construct the appropriate directory structure for that class. Given a code example and a classpath, determine whether the classpath will allow the code to compile successfully.<br />
Write code that correctly applies the appropriate operators including assignment operators (limited to: =, +=, -=), arithmetic operators (limited to: +, -, *, /, %, ++, –), relational operators (limited to: &lt; , &lt;=, &gt;, &gt;=, ==, !=), the instanceof operator, logical operators (limited to: &amp;, |, ^, !, &amp;&amp;, ||), and the conditional operator ( ? : ), to produce a desired result. Write code that determines the equality of two objects or two primitives</strong></em></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/94/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/94/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/94/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=94&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/scjp-1-6-objectives-for-java-certification/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>Introduction to Programming Using Java</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/introduction-to-programming-using-java/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/introduction-to-programming-using-java/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:42:37 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/2009/07/01/introduction-to-programming-using-java/</guid>
		<description><![CDATA[Chapter 1: Overview: The Mental Landscape Section 1: The Fetch-and-Execute Cycle: Machine Language Section 2: Asynchronous Events: Polling Loops and Interrupts Section 3: The Java Virtual Machine Section 4: Fundamental Building Blocks of Programs Section 5: Objects and Object-oriented Programming &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/01/introduction-to-programming-using-java/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=93&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p><span style="color:#ff0000;"><em><strong>Chapter 1:       <a href="http://javafaq.nu/free-introduction-java-book/c1-c1index.shtml"> Overview: The Mental Landscape</a></strong></em></span></p>
<p><span style="color:#ff0000;"><em><strong> </strong></em></span></p>
<hr /><span style="color:#ff0000;"><em><strong> </strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section  1:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s1.shtml"> The  Fetch-and-Execute Cycle: Machine Language</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s2.shtml"> Asynchronous Events: Polling Loops and Interrupts</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s3.shtml"> The Java Virtual Machine</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s4.shtml"> Fundamental Building Blocks of Programs</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s5.shtml"> Objects and Object-oriented Programming</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 6:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s6.shtml"> The Modern User Interface</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 7:         <a href="http://javafaq.nu/free-introduction-java-book/c1-s7.shtml"> The Internet and World-Wide Web</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c1-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 2:       <a href="http://javafaq.nu/free-introduction-java-book/c2-index.shtml"> Programming in the Small I: Names and Things</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c2-s1.shtml"> The Basic Java Application</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c2-s2.shtml"> Variables and the Primitive Types</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c2-s3.shtml"> Strings, Objects, and Subroutines</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c2-s4.shtml"> Text Input and Output</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c2-s5.shtml"> Details of Expressions</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c2-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c2-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 3:       <a href="http://javafaq.nu/free-introduction-java-book/c3-index.shtml"> Programming in the Small II: Control</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s1.shtml"> Blocks, Loops, and Branches</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s2.shtml"> Algorithm Development</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s3.shtml"> The while and do..while Statements</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s4.shtml"> The for Statement</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s5.shtml"> The if Statement</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 6:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s6.shtml"> The switch Statement</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 7:         <a href="http://javafaq.nu/free-introduction-java-book/c3-s7.shtml"> Introduction to Applets and Graphics</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c3-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c3-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 4:       <a href="http://javafaq.nu/free-introduction-java-book/c4-index.shtml"> Programming in the Large I: Subroutines</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s1.shtml"> Black Boxes</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s2.shtml"> Static Subroutines and Static Variables</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s3.shtml"> Parameters</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s4.shtml"> Return Values</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s5.shtml"> Toolboxes, API&#8217;s, and Packages</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 6:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s6.shtml"> More on Program Design</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 7:         <a href="http://javafaq.nu/free-introduction-java-book/c4-s7.shtml"> The Truth about Declarations</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c4-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c4-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 5:       <a href="http://javafaq.nu/free-introduction-java-book/c5-index.shtml"> Programming in the Large II: Objects and Classes</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c5-s1.shtml"> Objects, Instance Variables, and Instance Methods</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c5-s2.shtml"> Constructors and Object Initialization</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c5-s3.shtml"> Programming with Objects</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c5-s4.shtml"> Inheritance, Polymorphism, and Abstract Classes</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c5-s5.shtml"> More Details of Classes</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c5-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c5-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 6:       <a href="http://javafaq.nu/free-introduction-java-book/c6-index.shtml"> Applets, HTML, and GUI&#8217;s</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s1.shtml"> The Basic Java Applet</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s2.shtml"> HTML Basics and the Web</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s3.shtml"> Graphics and the Paint Method</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s4.shtml"> Mouse Events</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s5.shtml"> Keyboard Events</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 6:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s6.shtml"> Introduction to Layouts and Components</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 7:         <a href="http://javafaq.nu/free-introduction-java-book/c6-s7.shtml"> Looking Back: The Java 1.0 Event Model</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c6-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c6-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 7:       <a href="http://javafaq.nu/free-introduction-java-book/c7-index.shtml"> Advanced GUI Programming</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s1.shtml"> More about Graphics</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s2.shtml"> More about Layouts and Components</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s3.shtml"> Standard Components and Their Events</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s4.shtml"> Programming with Components</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s5.shtml"> Threads, Synchronization, and Animation</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 6:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s6.shtml"> Nested Classes and Adapter Classes</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 7:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s7.shtml"> Frames and Dialogs</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 8:         <a href="http://javafaq.nu/free-introduction-java-book/c7-s8.shtml"> Looking Forward: Swing and Java 2.0</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c7-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c7-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 8:       <a href="http://javafaq.nu/free-introduction-java-book/c8-index.shtml"> Arrays</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c8-s1.shtml"> Creating and Using Arrays</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c8-s2.shtml"> Programming with Arrays</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c8-s3.shtml"> Vectors and Dynamic Arrays</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c8-s4.shtml"> Searching and Sorting</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c8-s5.shtml"> Multi-Dimensional Arrays</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c8-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c8-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 9:       <a href="http://javafaq.nu/free-introduction-java-book/c9-index.shtml"> Correctness and Robustness</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c9-s1.shtml"> Introduction to Correctness and Robustness</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c9-s2.shtml"> Writing Correct Programs</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c9-s3.shtml"> Exceptions and the try&#8230;catch Statement</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c9-s4.shtml"> Programming with Exceptions</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c9-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c9-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 10:       <a href="http://javafaq.nu/free-introduction-java-book/c10-index.shtml"> Advanced Input/Output</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c10-s1.shtml"> Streams, Readers, and Writers</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c10-s2.shtml"> Files</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c10-s3.shtml"> Programming with Files</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c10-s4.shtml"> Networking</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c10-s5.shtml"> Programming Networked Applications</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c10-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c10-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
<p><span style="color:#ff0000;"><em><strong>Chapter 11:       <a href="http://javafaq.nu/free-introduction-java-book/c11-index.shtml"> Linked Data Structures and Recursion</a></strong></em></span></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<caption>
<li><span style="color:#ff0000;"><em><strong>Section 1:         <a href="http://javafaq.nu/free-introduction-java-book/c11-s1.shtml"> Recursion</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 2:         <a href="http://javafaq.nu/free-introduction-java-book/c11-s2.shtml"> Linking Objects</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 3:         <a href="http://javafaq.nu/free-introduction-java-book/c11-s3.shtml"> Stacks and Queues</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 4:         <a href="http://javafaq.nu/free-introduction-java-book/c11-s4.shtml"> Binary Trees</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong>Section 5:         <a href="http://javafaq.nu/free-introduction-java-book/c11-s5.shtml"> A Simple Recursive-descent Parser</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c11-exercises.shtml"> Programming Exercises</a></strong></em></span></li>
<li><span style="color:#ff0000;"><em><strong> <a href="http://javafaq.nu/free-introduction-java-book/c11-quiz.shtml"> Quiz on this Chapter</a></strong></em></span></li>
</caption>
</table>
</blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=93&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/introduction-to-programming-using-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>Visit These Groups</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/visit-these-groups/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/visit-these-groups/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:41:40 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/2009/07/01/visit-these-groups/</guid>
		<description><![CDATA[- Java&#8217;s Official Site - Java&#8217;s Official Forum - J2SE SDK Download - J2EE SDK Download - Open JDK - Netbeans Download DaniWeb IT Discussion Community<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=92&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<address>
<li><span style="color:#993366;"><em><strong><a href="http://java.net/" target="_blank"><strong>- Java&#8217;s Official Site</strong> </a><br />
<a href="http://javaranch.com/" target="_blank"> <img src="http://www.indijava.in/community/images/java_ranch.gif" alt="" /> </a><br />
<a href="http://foss.in/" target="_blank"> <img src="http://www.indijava.in/community/images/foss_2007_india.jpg" alt="" /> </a><br />
<a href="http://javablackbelt.com/" target="_blank"> <img src="http://www.indijava.in/community/images/java_blackbelt.gif" alt="" /> </a></strong></em></span></li>
<li><span style="color:#993366;"><em><strong><a href="http://forum.java.sun.com/index.jspa" target="_blank"><strong>- Java&#8217;s Official Forum</strong> </a><br />
<a href="http://java.sun.com/j2se/1.4.2/download.html" target="_blank"> <img src="http://www.indijava.in/community/images/get_java_software.gif" alt="" /><br />
- J2SE SDK Download </a><br />
<a href="http://java.sun.com/javaee/downloads/index.jsp" target="_blank"> <img src="http://www.indijava.in/community/images/j2ee_sdk_download.gif" alt="" /> <img src="http://www.indijava.in/community/images/jee_sdk_download.gif" alt="" /><br />
- J2EE SDK Download </a><br />
<a href="https://openjdk.dev.java.net/" target="_blank"> <img src="http://www.indijava.in/community/images/openjdk.gif" alt="" /><br />
- Open JDK</a><br />
<a href="http://www.netbeans.info/downloads/index.php" target="_blank"> <img src="http://www.indijava.in/community/images/sun_netbeans_download.gif" alt="" /><br />
- Netbeans Download </a></strong></em></span></li>
</address>
<p><span style="color:#993366;"><em><strong>DaniWeb IT Discussion Community <a href="http://www.daniweb.com/"><img src="http://www.daniweb.com/button.gif" border="0" alt="DaniWeb IT Discussion Community" width="125" height="24" /></a></strong></em></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=92&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/visit-these-groups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>

		<media:content url="http://www.indijava.in/community/images/java_ranch.gif" medium="image" />

		<media:content url="http://www.indijava.in/community/images/foss_2007_india.jpg" medium="image" />

		<media:content url="http://www.indijava.in/community/images/java_blackbelt.gif" medium="image" />

		<media:content url="http://www.indijava.in/community/images/get_java_software.gif" medium="image" />

		<media:content url="http://www.indijava.in/community/images/j2ee_sdk_download.gif" medium="image" />

		<media:content url="http://www.indijava.in/community/images/jee_sdk_download.gif" medium="image" />

		<media:content url="http://www.indijava.in/community/images/openjdk.gif" medium="image" />

		<media:content url="http://www.indijava.in/community/images/sun_netbeans_download.gif" medium="image" />

		<media:content url="http://www.daniweb.com/button.gif" medium="image">
			<media:title type="html">DaniWeb IT Discussion Community</media:title>
		</media:content>
	</item>
		<item>
		<title>DB2 JDBC Driver Secrets</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/db2-jdbc-driver-secrets/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/db2-jdbc-driver-secrets/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:40:14 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=90</guid>
		<description><![CDATA[There are several ways one can do DB2 JDBC tracing and it all really depends how creative you are. Check version of JCC Driver $ java com.ibm.db2.jcc.DB2Jcc -version Simple nonsense solution to use JCC Tracing import java.sql.Connection; import java.sql.DriverManager; import &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/01/db2-jdbc-driver-secrets/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=90&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#ff6600;"><em><strong>There are several ways one can do DB2 JDBC tracing and it all really depends how creative you are.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Check version of JCC Driver</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>$ java com.ibm.db2.jcc.DB2Jcc -version<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Simple nonsense solution to use JCC Tracing</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>import java.sql.Connection;<br />
import java.sql.DriverManager;<br />
import java.sql.ResultSet;</p>
<p>import com.ibm.pdq.annotation.Sql;</p>
<p>public class T4Driver {</p>
<p>public static void main(String[] args) throws Exception {</p>
<p>Class.forName(&#8220;com.ibm.db2.jcc.DB2Driver&#8221;).newInstance();<br />
String url = &#8220;jdbc:db2://localhost:50000/SAMPLE:traceFile=c:/jdbc4.log;TraceLevel=TRACE_ALL;&#8221;;<br />
Connection con = DriverManager.getConnection(url, &#8220;pdqpot&#8221;, &#8220;pdqpot123&#8243;);<br />
@Sql String sql = &#8220;VALUES CURRENT TIMESTAMP&#8221;;<br />
java.sql.PreparedStatement stmt = con.prepareStatement(sql);<br />
ResultSet rs = stmt.executeQuery();</p>
<p>String ts = &#8220;&#8221;;<br />
while (rs.next()) {<br />
ts = rs.getString(1);<br />
System.out.println(&#8220;Timestamp: &#8221; + ts);<br />
}<br />
rs.close();<br />
stmt.close();<br />
}<br />
}<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>The trick here is to add connection properties in the connection string and this is what probably most of your search results will show.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>String url = &#8220;jdbc:db2://localhost:50000/SAMPLE:</strong><strong>traceFile=c:/jdbc4.log;TraceLevel=TRACE_ALL;&#8221;;</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Simple no-nonsense solution to use Tracing using property file</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>import java.sql.Connection;<br />
import java.sql.DriverManager;<br />
import java.sql.ResultSet;<br />
import java.util.Properties;</p>
<p>import com.ibm.db2.jcc.DB2Connection;<br />
import com.ibm.pdq.annotation.Sql;</p>
<p>public class T4Driver {</p>
<p>public static void main(String[] args) throws Exception {<br />
Properties conProperties = new Properties();<br />
conProperties.put(&#8220;user&#8221;, &#8220;pdqpot&#8221;);<br />
conProperties.put(&#8220;password&#8221;, &#8220;pdqpot123&#8243;);<br />
conProperties.put(&#8220;portNumber&#8221;, &#8220;50000&#8243;);<br />
conProperties.put(&#8220;databaseName&#8221;, &#8220;SAMPLE&#8221;);<br />
conProperties.put(&#8220;deferPrepares&#8221;, &#8220;false&#8221;);<br />
conProperties.put(&#8220;retrieveMessagesFromServerOnGetMessage&#8221;, &#8220;true&#8221;);<br />
conProperties.put(&#8220;emulateParameterMetaDataForZCalls&#8221;, &#8220;1&#8243;);<br />
conProperties.put(&#8220;clientApplicationInformation&#8221;, &#8220;T4Driver&#8221;);<br />
conProperties.put(&#8220;clientWorkstation&#8221;, &#8220;192.168.10.125&#8243;);<br />
conProperties.put(&#8220;defaultIsolationLevel&#8221;, java.sql.Connection.TRANSACTION_READ_COMMITTED);<br />
conProperties.put(&#8220;jdbcCollection&#8221;, &#8220;NULLIDR1&#8243;);<br />
conProperties.put(&#8220;driverType&#8221;, &#8220;4&#8243;);</p>
<p>Class.forName(&#8220;com.ibm.db2.jcc.DB2Driver&#8221;).newInstance();<br />
String url = &#8220;jdbc:db2://localhost:50000/SAMPLE&#8221;;<br />
Connection con = DriverManager.getConnection(url, conProperties);<br />
con.setAutoCommit(false);</p>
<p>if (con instanceof DB2Connection) {<br />
DB2Connection db2Con = (DB2Connection) con;<br />
System.out.println(&#8220;DB2ClientWorkstation = &#8221; + db2Con.getDB2ClientWorkstation());<br />
System.out.println(&#8220;DB2ClientApplicationInformation = &#8221; + db2Con.getDB2ClientApplicationInformation());<br />
System.out.println(&#8220;getAutoCommit = &#8221; + (db2Con.getAutoCommit() ? &#8220;True&#8221; : &#8220;False&#8221;));<br />
}<br />
@Sql String sql = &#8220;VALUES CURRENT TIMESTAMP&#8221;;<br />
java.sql.PreparedStatement stmt = con.prepareStatement(sql);<br />
ResultSet rs = stmt.executeQuery();</p>
<p>String ts = &#8220;&#8221;;<br />
while (rs.next()) {<br />
ts = rs.getString(1);<br />
System.out.println(&#8220;Timestamp: &#8221; + ts);<br />
}</p>
<p>rs.close();<br />
stmt.close();<br />
}<br />
}<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>If you look at above program, you notice that there is no trace information in the connection URL. But, the trace information is kept in a property file that JDBC driver uses at the runtime.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>db2.jcc.override.traceFile=C:/temp/jdbc.trace<br />
db2.jcc.override.traceFileAppend=true<br />
db2.jcc.override.TraceLevel=TRACE_ALL<br />
db2.jcc.override.currentSchema=VIKRAM<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>The name of the property file is </strong><strong>DB2JccConfiguration.properties and it should be on your class path or in a JAR which should also be on your classpath.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Alternatively, you can specify the name of your file by supplying a switch to JVM at the runtime as shown below:</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>-Ddb2.jcc.propertiesFile=C:/Test/DB2JccConfiguration.properties</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>This approach is elegant as you are not touching the code to set the trace and you control it through a property file that you can change anytime.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>JCC Tracing in multi-threaded applications</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>If you use traceFile option in </strong><strong>DB2JccConfiguration.properties file, you will collect trace information for all threads in a single file if you are running a multi-threaded application. In that case, you should use traceDirectory property so that JCC driver creates a separate file for each thread.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>db2.jcc.override.traceDirectory=C:/temp/jdbc/<br />
db2.jcc.override.traceFile=trace.log<br />
db2.jcc.override.traceFileAppend=true<br />
db2.jcc.override.TraceLevel=TRACE_ALL<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Suppose your java program creates two connections in 2 separate threads. When the program completes, the following files contain the trace data:</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>C:/temp/jdbc/trace.log_global_0<br />
C:/temp/jdbc/trace.log_global_1<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Some very important properties least understood</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>I also use few properties in this simple program and some of them are very useful and important.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>For example:</strong></em></span></p>
<ul>
<li><span style="color:#ff6600;"><em><strong>deferPrepares This property is true by default and that may lead to some problems occasionally. The prepare is deferred until execution time to save few network hops to describe the query from the database rather than to use java specific mappings. This parameter is true for performance but if there is a problem in correct mapping between java data types and DB2, JCC driver will recover from those errors automatically at execution time and you will see lots of SQL errors in your trace file which should not have been there. To avoid those errors, set this param to false and again see the trace. </strong></em></span>
<p><span style="color:#ff6600;"><em><strong>If you want to check very quickly how deferPrepares works, set this value to true in above code and make a mistake in your SQL statement. For example, you can set the SQL as &#8220;VALUES CURRENT TIMESTAMP2&#8243;. This SQL will fail at runtime.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>If deferPrepares=true, you will see the exception at line where you have </strong><strong>ResultSet rs = stmt.executeQuery(); but if you set this to false, you will see exception at line where you have </strong><strong>java.sql.PreparedStatement stmt = con.prepareStatement(sql);</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>This should explain the importance of deferPrepares. The value of true gives a better performance but it can bog you down if there are differences in data type matching between java and DB2 and some problems related to dates or numbers or decimals.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>clientWorkstation You set this value to identify client workstation and this is an ideal property to set to the IP address from your web response if you are writing a web application. This will allow db2 audit to catch IP addresses of the web client. A very unknown feature not used by Java application developers.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>jdbcCollection This is another very powerful property that affects the execution of your SQL statements if you are using parameter markers in your application. Please read this article for details on this property at <a href="http://www.db2ude.com/?q=node/73">this link</a></strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>driverType This is the type of driver you choose to use. There used to be a separate JDBC driver for Type-2 connections but that has been deprecated and both the drivers are merged in a single db2jcc.jar file. If you set driverType=2, you are using Type-2 driver of DB2 which is using CLI calls under the cover to the database. Which one should you use? </strong></em></span>
<p><span style="color:#ff6600;"><em><strong>If you set driverType=4, you really do not need a DB2 client on your machine to connect to DB2 but you will need a DB2 client of you set driverType=2. If you are connecting remotely to db2, you will get a better performance by using Type-4 driver and if you are connecting locally to DB2, you will get a better performance by using Type-2 driver.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>retrieveMessagesFromServerOnGetMessage This is another property that gives a formatted SQLException output. </strong></em></span>
<p><span style="color:#ff6600;"><em><strong>Did you notice that we specified default schema in the external property file and that is very useful if you want to change default schema at run time rather than to hard code in URL of the connection string.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Did you, by any chance, notice the use of @Sql in above java code and an import of </strong><strong>com.ibm.pdq.annotation.Sql. This is a way to check the syntax of SQL at design time if your SQL is right or not and allows you to use context sensitive help by pressing ctrl-space. If this sounds exciting, download free Data Studio from this <a href="http://www-304.ibm.com/jct03001c/software/data/studio/features.html">link</a>.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>One may ask if there is a way to specify all those properties in a single file and not have to hard code these ones in the code. </strong></em></span>
<p><span style="color:#ff6600;"><em><strong>conProperties.put(&#8220;user&#8221;, &#8220;pdqpot&#8221;);<br />
conProperties.put(&#8220;password&#8221;, &#8220;pdqpot123&#8243;);<br />
conProperties.put(&#8220;portNumber&#8221;, &#8220;50000&#8243;);<br />
conProperties.put(&#8220;deferPrepares&#8221;, &#8220;false&#8221;);<br />
conProperties.put(&#8220;retrieveMessagesFromServerOnGetMessage&#8221;, &#8220;true&#8221;);<br />
conProperties.put(&#8220;emulateParameterMetaDataForZCalls&#8221;, &#8220;1&#8243;);<br />
conProperties.put(&#8220;clientApplicationInformation&#8221;, &#8220;T4Driver&#8221;);<br />
conProperties.put(&#8220;clientWorkstation&#8221;, &#8220;192.168.10.125&#8243;);<br />
conProperties.put(&#8220;defaultIsolationLevel&#8221;, java.sql.Connection.TRANSACTION_READ_COMMITTED);<br />
conProperties.put(&#8220;jdbcCollection&#8221;, &#8220;NULLIDR1&#8243;);<br />
conProperties.put(&#8220;driverType&#8221;, &#8220;4&#8243;);<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>In the property file </strong><strong>DB2JccConfiguration.properties, you can only specify few properties that JCC driver will actually use. So, if you specify deferPrepares in this file, JCC driver is not going to use it. But, you can do one thing &#8211; Take all of the above properties and put them in same property file and load it at run time in your program. This way, JCC driver will also use same property file and your program is also using same property file. Some may like it and some may not. Choice is yours.</strong></em></span></li>
</ul>
<p><span style="color:#ff6600;"><em><strong>JCC Tracing made really simple with connection properties</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>What if, you want all properties put in a single file and also control JCC tracing at run time. The following code example actually does that and all of your settings are in one file but you control JCC tracing through one -D switch specified through command line.</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>import java.io.FileInputStream;<br />
import java.io.InputStream;<br />
import java.sql.Connection;<br />
import java.sql.DriverManager;<br />
import java.sql.ResultSet;<br />
import java.util.Enumeration;<br />
import java.util.Properties;</p>
<p>import com.ibm.pdq.annotation.Sql;</p>
<p>public class T4Driver<br />
{</p>
<p>private static String PARAM_PROP_FILE = &#8220;DB2JccConfiguration.properties&#8221;;</p>
<p>public static void main(String[] args) throws Exception<br />
{<br />
String propName, propValue;<br />
Properties conProperties = new Properties();<br />
InputStream istream = ClassLoader.getSystemResourceAsStream(PARAM_PROP_FILE);<br />
if (istream == null)<br />
{<br />
try<br />
{<br />
conProperties.load(new FileInputStream(PARAM_PROP_FILE));<br />
} catch (Exception e)<br />
{<br />
System.out.println(PARAM_PROP_FILE + &#8221; not found. Exiting &#8230; &#8220;);<br />
System.exit(-1);<br />
}<br />
} else<br />
{<br />
conProperties.load(istream);<br />
System.out.println(PARAM_PROP_FILE + &#8221; file loaded&#8221;);<br />
}</p>
<p>Enumeration enu = conProperties.keys();<br />
while (enu.hasMoreElements())<br />
{<br />
propName = (String) enu.nextElement();<br />
propValue = conProperties.get(propName).toString();<br />
System.out.println(&#8220;propName = &#8221; + propName + &#8221; propValue = &#8221; + propValue);<br />
}<br />
Class.forName(&#8220;com.ibm.db2.jcc.DB2Driver&#8221;).newInstance();<br />
String url = &#8220;jdbc:db2://localhost/SAMPLE&#8221;;<br />
Connection con = DriverManager.getConnection(url, conProperties);<br />
con.setAutoCommit(false);</p>
<p>@Sql String sql = &#8220;VALUES CURRENT TIMESTAMP&#8221;;<br />
java.sql.PreparedStatement stmt = con.prepareStatement(sql);<br />
ResultSet rs = stmt.executeQuery();</p>
<p>String ts = &#8220;&#8221;;<br />
while (rs.next())<br />
{<br />
ts = rs.getString(1);<br />
System.out.println(&#8220;Timestamp: &#8221; + ts);<br />
}</p>
<p>rs.close();<br />
stmt.close();<br />
}<br />
}<br />
</strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>Some of the points to remember:</strong></em></span></p>
<ul>
<li><span style="color:#ff6600;"><em><strong>All properties are placed in a single file including tracing and connection related.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>This property file can be placed in current directory assuming that the current directory is not on classpath</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>If you do not specify this property file through -D switch, no tracing will happen.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>The Java program actually reads this file and uses as a connection property.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>If you specify this file as command line argument </strong><strong>-Ddb2.jcc.propertiesFile=C:/Test/DB2JccConfiguration.properties, you will start tracing.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>If you have this file in a JAR file or in classpath, you do not need to specify it using -D switch. However, you will have to delete JCC tracing parameters from this file to stop tracing.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>Use any of the method that suits your best needs.</strong></em></span></li>
<li><span style="color:#ff6600;"><em><strong>DB2JccConfiguration.properties file having JCC tracing and connection properties<br />
</strong><strong> </strong></em></span></p>
<p><span style="color:#ff6600;"><em><strong>#### JCC Driver reads these properties automatically<br />
db2.jcc.override.traceFile=C:/temp/jdbc.trace<br />
db2.jcc.override.traceFileAppend=true<br />
db2.jcc.override.TraceLevel=TRACE_ALL<br />
db2.jcc.override.currentSchema=VIKRAM</p>
<p>#### Extra connection properties used at the time of opening connections.<br />
#### Java program reads this propety file</p>
<p>user=pdqpot<br />
password=pdqpot123<br />
portNumber=50000<br />
deferPrepares=false<br />
retrieveMessagesFromServerOnGetMessage=true<br />
emulateParameterMetaDataForZCalls=1<br />
clientApplicationInformation=T4Driver<br />
clientWorkstation=192.168.10.125<br />
defaultIsolationLevel=2<br />
jdbcCollection=NULLIDR1<br />
driverType=4</strong></em></span></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=90&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/db2-jdbc-driver-secrets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>Creating a Mobile-Ready Java MIDlet</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/creating-a-mobile-ready-java-midlet/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/creating-a-mobile-ready-java-midlet/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:38:48 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Java-J2ee-J2me]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=88</guid>
		<description><![CDATA[Creating a Mobile-Ready Java MIDlet ACCESS Developer Network &#8211; Monday, 20 April 2009 © ACCESS Developer Network<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=88&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<address><span style="color:#ff0000;"><em><strong><a href="http://www.accessdevnet.com/index.php/ACCESS-Linux-Platform-Native-Development/javaguide_using.html" target="_blank">Creating a Mobile-Ready Java MIDlet</a><br />
ACCESS Developer Network &#8211; Monday, 20 April 2009<br />
</strong></em></span></p>
<div><span style="color:#ff0000;"><em><strong>© <a href="http://www.accessdevnet.com/" target="_blank">ACCESS Developer Network</a></strong></em></span></div>
</address>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=88&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/creating-a-mobile-ready-java-midlet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
		<item>
		<title>On Breadth vs. Depth Of Technical Knowledge</title>
		<link>http://teknoturfian.wordpress.com/2009/07/01/on-breadth-vs-depth-of-technical-knowledge/</link>
		<comments>http://teknoturfian.wordpress.com/2009/07/01/on-breadth-vs-depth-of-technical-knowledge/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 16:37:32 +0000</pubDate>
		<dc:creator>Marimuthu Udayakumar</dc:creator>
				<category><![CDATA[Genral]]></category>

		<guid isPermaLink="false">http://teknoturfian.wordpress.com/?p=86</guid>
		<description><![CDATA[Today&#8217;s posting about balancing the value of learning specific technologies and following technologies you enjoy got Jeffrey Thalhammer thinking about depth vs. breadth of knowledge. Whenever my colleagues and I discuss our career plans and the job market, someone always &#8230; <a href="http://teknoturfian.wordpress.com/2009/07/01/on-breadth-vs-depth-of-technical-knowledge/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=86&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span style="color:#ff00ff;"><em><strong>Today&#8217;s posting about <a href="http://theworkinggeek.com/2009/05/do-i-need-to-learn-microsoft-technologies.html">balancing the value of learning specific technologies and following technologies you enjoy</a> got Jeffrey Thalhammer thinking about depth vs. breadth of knowledge.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>Whenever my colleagues and I discuss our career plans and the job market, someone always asks me whether to learn programming language X, or operating system Y, or framework Z. But I like to point out that time spent learning some new skill is also time not spent honing the skills you already have. And in my opinion, it is both more lucrative and more enjoyable to be a master of one craft, than to be mediocre at several of them.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>This is because I&#8217;ve noticed that those who are the best in their chosen fields are always fully employed and highly compensated. Especially during an economic downturn, employers become more selective about who they hire. So when they go looking for a candidate with a particular set of skills, they want to choose the person who is strongest with those skills &#8212; not the person who has the most different skills. And employers are usually willing to pay a premium for top-notch talent, if they can find it.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>I&#8217;ve been on the hiring side of the interview table enough times to know this. When a job candidate shows me they have mastered one technology, it also demonstrates to me that they have the potential to master others. But having partial expertise in many technologies may only prove that they own a lot of O&#8217;Reilly books. Truly mastering any technology requires a great deal of patience and dedication, and those traits are far more valuable to the team than being able to write code in 16 different languages.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>Having said all that, I do acknowledge there is a real tradeoff between the depth and breadth of one&#8217;s technical skills. Not all job candidates are created equal, and it just isn&#8217;t possible for everyone to be the &#8220;best&#8221; in something. I&#8217;m sure there is a sweet spot where you can optimize your employability, and this doesn&#8217;t mean that you should completely ignore other technologies. The industry is constantly evolving so you must stay up-to-date, and learning a little bit about other technologies can give you a fantastic new perspective on the those you already know well. And of course, this all assumes that you actually enjoy the technologies you&#8217;re working with. If you don&#8217;t enjoy them, then by all means, go learn some new skills.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>But if you do enjoy the technologies you work with, then I urge you to consider mastering those technologies before going off to learn some new bag-of-tricks. To be sure, the road to mastery is long and difficult. It is fraught with frustration and can be boring at times. But it is also challenging, exciting, and deeply rewarding. In the end, I believe it will lead you to a much happier and more prosperous career.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>I&#8217;d rather be the first-pick candidate for just one position than the second-pick for several.</strong></em></span></p>
<p><span style="color:#ff00ff;"><em><strong>Jeff Thalhammer has been specializing in Perl software development for over 10 years. He is the senior engineer and chief janitor at Imaginative Software Systems, a small software consultancy based in San Francisco. Jeff is also the creator of <a href="http://perlcritic.com/">Perl-Critic</a>, the leading static analysis tool for Perl.</strong></em></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/teknoturfian.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/teknoturfian.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/teknoturfian.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/teknoturfian.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/teknoturfian.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/teknoturfian.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/teknoturfian.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/teknoturfian.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=teknoturfian.wordpress.com&amp;blog=8398660&amp;post=86&amp;subd=teknoturfian&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://teknoturfian.wordpress.com/2009/07/01/on-breadth-vs-depth-of-technical-knowledge/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bf518b3cea9e500221faec7308bf6b8e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">teknoturfian</media:title>
		</media:content>
	</item>
	</channel>
</rss>
