<?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>Welcome to the java web world community!</title>
	<atom:link href="http://javawebworld.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://javawebworld.wordpress.com</link>
	<description>Java is the most distressing thing to happen to computing since MS-DOS !!</description>
	<lastBuildDate>Wed, 16 Sep 2009 20:21:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='javawebworld.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/6e1d939e7b4f7579109f9c75d2eb6b79?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Welcome to the java web world community!</title>
		<link>http://javawebworld.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://javawebworld.wordpress.com/osd.xml" title="Welcome to the java web world community!" />
	<atom:link rel='hub' href='http://javawebworld.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Technorati</title>
		<link>http://javawebworld.wordpress.com/2009/04/30/technorati/</link>
		<comments>http://javawebworld.wordpress.com/2009/04/30/technorati/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 09:48:52 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=109</guid>
		<description><![CDATA[Technorati Profile<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=109&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a rel="me" href="http://technorati.com/claim/m2fjreh3i4">Technorati Profile</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=109&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2009/04/30/technorati/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>
	</item>
		<item>
		<title>Overview of JAVA</title>
		<link>http://javawebworld.wordpress.com/2008/12/11/overview-of-java/</link>
		<comments>http://javawebworld.wordpress.com/2008/12/11/overview-of-java/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 08:33:57 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Overview of JAVA]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=92</guid>
		<description><![CDATA[Java or formally known as Oak is now considered as one of the top programming methodologies to come about in the programming world. It is an object-oriented programming language was developed by Sun Microsystems in the early 1990s. The language derives most of its syntax from other objected oriented languages like C and C++ but [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=92&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Java or formally known as Oak is now considered as one of the top programming methodologies to come about in the programming world. It is an object-oriented programming language was developed by Sun Microsystems in the early 1990s. The language derives most of its syntax from other objected oriented languages like C and C++ but has a simpler object model and fewer low-level facilities.<br />
It was started as a small project which was called &#8220;Oak&#8221; by James Gosling in 1991. The first public implementation was done in the year 1995 which was called Java 1.0. At that moment of time it offered the following new attributes to the programming world.<br />
• <strong>WORA</strong>: Ability to &#8220;Write Once, Run Anywhere&#8221; providing no cost runtimes on popular platforms.<br />
• <strong>Security</strong>: It was configurable, allowing network and file access to be restricted.<br />
The original compliers virtual machines and class libraries were developed by Sun from 1995.But as of May 2007, in compliance with the specifications of the Java Community Process, most of their Java technologies as free software under the GNU General Public License. Some organizations have also developed alternative implementations of these technologies, like the GNU Compiler for Java and GNU Classpath etc.</p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/92/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/92/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/92/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=92&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/12/11/overview-of-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>Working of Java</title>
		<link>http://javawebworld.wordpress.com/2008/12/11/working-of-java/</link>
		<comments>http://javawebworld.wordpress.com/2008/12/11/working-of-java/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 08:32:17 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Working of Java]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=90</guid>
		<description><![CDATA[All the applications developed are first complied into a JVM (Java virtual machine) irrespective of the computer architecture. This complied code is referred as byte code.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=90&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>All the applications developed are first complied into a JVM (Java virtual machine) irrespective of the computer architecture. This complied code is referred as byte code.</p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/90/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/90/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/90/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=90&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/12/11/working-of-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>Primary Goals</title>
		<link>http://javawebworld.wordpress.com/2008/12/11/primary-goals/</link>
		<comments>http://javawebworld.wordpress.com/2008/12/11/primary-goals/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 08:31:06 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Primary Goals]]></category>
		<category><![CDATA[architecture neutral and portable]]></category>
		<category><![CDATA[dynamic]]></category>
		<category><![CDATA[high performance]]></category>
		<category><![CDATA[interpreted]]></category>
		<category><![CDATA[robust and secure]]></category>
		<category><![CDATA[threaded]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=88</guid>
		<description><![CDATA[There were five primary goals in the creation of the Java language: 1. It should be &#8220;simple, object oriented and familiar&#8221;. 2. It should be &#8220;robust and secure&#8221;. 3. It should be &#8220;architecture neutral and portable&#8221;. 4. It should execute with &#8220;high performance&#8221;. 5. It should be &#8220;interpreted, threaded, and dynamic&#8221;. After its launch, major web browsers soon incorporated the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=88&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There were five primary goals in the creation of the Java language:<br />
1. It should be &#8220;simple, object oriented and familiar&#8221;.<br />
2. It should be &#8220;robust and secure&#8221;.<br />
3. It should be &#8220;architecture neutral and portable&#8221;.<br />
4. It should execute with &#8220;high performance&#8221;.<br />
5. It should be &#8220;interpreted, threaded, and dynamic&#8221;.</p>
<p>After its launch, major web browsers soon incorporated the ability to run secure Java applets within web pages, and Java quickly became popular. With the advent of Java 2 the new versions had multiple configurations built for different types of platforms. For example, J2EE targeted enterprise applications and the greatly stripped-down version J2ME for mobile applications.</p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/88/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/88/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/88/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=88&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/12/11/primary-goals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>Future of Java</title>
		<link>http://javawebworld.wordpress.com/2008/12/11/future-of-java/</link>
		<comments>http://javawebworld.wordpress.com/2008/12/11/future-of-java/#comments</comments>
		<pubDate>Thu, 11 Dec 2008 08:22:40 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Future of Java]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=84</guid>
		<description><![CDATA[It is still the de facto standard that it was, controlled through the Java Community Process. The latest version of Java currently in the market is the Java Standard Edition 6 (Update 11). Java is a very popular programming language. The newer versions of the java programming language have multiple configurations built for different platforms [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=84&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It is still the de facto standard that it was, controlled through the Java Community Process.</p>
<p>The latest version of Java currently in the market is the Java Standard Edition 6 (Update 11). Java is a very popular programming language. The newer versions of the java programming language have multiple configurations built for different platforms for example, J2EE for enterprise applications and J2ME for mobile applications etc.</p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=84&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/12/11/future-of-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>Java Libraries</title>
		<link>http://javawebworld.wordpress.com/2008/11/06/java-libraries/</link>
		<comments>http://javawebworld.wordpress.com/2008/11/06/java-libraries/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 07:28:12 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Java Libraries]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=79</guid>
		<description><![CDATA[Build Systems ( 13 items ) ByteCode Library ( 12 items ) Charting Library ( 7 items ) Console Input Handling ( 3 items ) FTP Client ( 2 items ) Genetic Algorithms ( 6 items ) HTML Parser ( 6 items ) Image Editing/Processing Library ( 18 items ) J2EE Framework ( 6 items [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=79&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<ul>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/build-systems/"> Build Systems</a> <em>( 13 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/bytecode-library/"> ByteCode Library</a> <em>( 12 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/charting-library/"> Charting Library</a> <em>( 7 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/console-input-handling/"> Console Input Handling</a> <em>( 3 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/ftp-client/"> FTP Client</a> <em>( 2 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/genetic-algorithms/"> Genetic Algorithms</a> <em>( 6 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/html-parser/"> HTML Parser</a> <em>( 6 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/image-editing-processing-library/"> Image Editing/Processing Library</a> <em>( 18 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/j2ee-framework/"> J2EE Framework</a> <em>( 6 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/jabber/"> Jabber</a> <em>( 3 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/java-look-and-feel/"> Java Look and Feel</a> <em>( 24 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/macromedia-flash-tools/"> Macromedia Flash Tools</a> <em>( 8 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/msn-client/"> MSN Client</a> <em>( 1 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/neural-networks/"> Neural Networks</a> <em>( 3 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/news-aggregation-library/"> News Aggregation Library</a> <em>( 6 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/pdf-library/"> PDF Library</a> <em>( 18 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/plugin-framework/"> Plugin Framework</a> <em>( 1 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/rich-client-platform/"> Rich Client Platform</a> <em>( 2 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/science-library/"> Science Library</a> <em>( 2 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/scripting-language/"> Scripting Language</a> <em>( 7 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/search-engine/"> Search Engine</a> <em>( 2 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/source-code-formatter/"> Source Code Formatter</a> <em>( 7 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/spell-checker/"> Spell Checker</a> <em>( 8 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/ssh/"> SSH</a> <em>( 6 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/web-browser/"> Web Browser</a> <em>( 5 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/web-framework/"> Web Framework</a> <em>( 27 items )</em></li>
<li> <a class="category" href="http://www.java-tips.org/java-libraries/xml-diff-libraries/"> XML Diff Libraries</a> <em>( 6 items )</em></li>
</ul>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=79&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/11/06/java-libraries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>How to write a Java Application without a main method</title>
		<link>http://javawebworld.wordpress.com/2008/11/06/how-to-write-a-java-application-without-a-main-method/</link>
		<comments>http://javawebworld.wordpress.com/2008/11/06/how-to-write-a-java-application-without-a-main-method/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 07:20:52 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[How to write a Java Application without a main method]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=77</guid>
		<description><![CDATA[You can write a runnable Java program which does not have main method at all. This can be done using the static block of the class. The reason this works is that static initialization blocks get executed as soon as the class is loaded, even before the main method is called. During run time JVM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=77&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You can write a runnable <a class="tfTextLink" href="void(0)">Java program</a> which does not have main method at all. This can be done using the static block of the class.</p>
<p>The reason this works is that static initialization blocks get executed as soon as the class is loaded, even before the main method is called. During run time JVM will search for the main method after exiting from this block. If it does not find the main method, it throws an exception. To avoid the exception System.exit(0); statement is used which terminates the program at the end of the static block itself.</p>
<p><!-- start source code --><code> <span style="color:#7f0055;"><strong>class </strong></span><span style="color:#000000;">MainMethodNot</span><br />
<span style="color:#000000;">{</span><br />
<span style="color:#ffffff;"> </span><span style="color:#7f0055;"><strong>static</strong></span><br />
<span style="color:#ffffff;"> </span><span style="color:#000000;">{</span><br />
<span style="color:#ffffff;"> </span><span style="color:#000000;">System.out.println</span><span style="color:#000000;">(</span><span style="color:#2a00ff;">"This java program have run without the run method"</span><span style="color:#000000;">)</span><span style="color:#000000;">;</span><br />
<span style="color:#ffffff;"> </span><span style="color:#000000;">System.exit</span><span style="color:#000000;">(</span><span style="color:#990000;">0</span><span style="color:#000000;">)</span><span style="color:#000000;">;</span><br />
<span style="color:#ffffff;"> </span><br />
<span style="color:#ffffff;"> </span><span style="color:#000000;">}</span><br />
<span style="color:#000000;">}</span></code></p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=77&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/11/06/how-to-write-a-java-application-without-a-main-method/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>Enhanced For-Loop and Preferences API</title>
		<link>http://javawebworld.wordpress.com/2008/11/06/enhanced-for-loop-and-preferences-api/</link>
		<comments>http://javawebworld.wordpress.com/2008/11/06/enhanced-for-loop-and-preferences-api/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 07:07:48 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[Enhanced For-Loop and Preferences API]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[core java tips]]></category>
		<category><![CDATA[for loop]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=75</guid>
		<description><![CDATA[Welcome to the Core Java Technologies Tech Tips for November 2008. Core Java Technologies Tech Tips provides tips and hints for using core Java technologies and APIs in the Java Platform, Standard Edition 6 (Java SE 6). Using Enhanced For-Loops with Your Classes The enhanced for-loop is a popular feature introduced with the Java SE [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=75&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Welcome to the Core Java Technologies Tech Tips for November 2008. Core Java Technologies Tech Tips provides tips and hints for using core Java technologies and APIs in the Java Platform, Standard Edition 6 (Java SE 6).</p>
<p><strong>Using Enhanced For-Loops with Your Classes</strong></p>
<p>The enhanced for-loop is a popular feature introduced with the Java SE platform in version 5.0. Its simple structure allows one to simplify code by presenting for-loops that visit each element of an array/collection without explicitly expressing how one goes from element to element.</p>
<p>Because the old style of coding didn&#8217;t become  invalid with the new for-loop syntax, you don&#8217;t have to use an enhanced for-loop when visiting each element of an array/collection. However, with the new style, one&#8217;s code would typically change from something like the following:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>for (int i=0; i&lt;array.length; i++) {</code><br />
<code> System.out.println("Element: " + array[i]);</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>to the newer form:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>for (String element : array) {</code><br />
<code> System.out.println("Element: " + element);</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Assuming &#8220;array&#8221; is defined to be an array of <code>String</code> objects, each element is assigned to the element variable as it loops through the array. These basics of the enhanced for-loop were covered  in an earlier Tech Tip: <a href="http://java.sun.com/developer/JDCTechTips/2005/tt0505.html#2">The Enhanced For Loop</a>, from May 5, 2005.</p>
<p>If you have a class called <code>Colony</code> which contains a group of <code>Penguin</code> objects, without doing anything extra to get the enhanced for-loop to work, one way you would loop through each penguin element would be to return an <code>Iterator</code> and iterate through the colony. Unfortunately, the enhanced for-loop does not work with <code>Iterator</code>, so the following won&#8217;t even compile:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>// Does not compile</code><br />
<code>import java.util.*;</code><br />
<code>public class BadColony {</code><br />
<code> static class Penguin {</code><br />
<code> String name;</code><br />
<code> Penguin(String name) {</code><br />
<code> this.name = name;</code><br />
<code> }</code><br />
<code> public String toString() {</code><br />
<code> return "Penguin{" + name + "}";</code><br />
<code> }</code><br />
<code> }</code></p>
<p><code> Set&lt;Penguin&gt; set = new HashSet&lt;Penguin&gt;();</code></p>
<p><code> public void addPenguin(Penguin p) {</code><br />
<code> set.add(p);</code><br />
<code> }</code></p>
<p><code> public Iterator&lt;Penguin&gt; getPenguins() {</code><br />
<code> return set.iterator();</code><br />
<code> }</code></p>
<p><code> public static void main(String args[]) {</code><br />
<code> Colony colony = new Colony();</code><br />
<code> Penguin opus = new Penguin("Opus");</code><br />
<code> Penguin chilly = new Penguin("Chilly Willy");</code><br />
<code> Penguin mumble = new Penguin("Mumble");</code><br />
<code> Penguin emperor = new Penguin("Emperor");</code><br />
<code> colony.addPenguin(opus);</code><br />
<code> colony.addPenguin(chilly);</code><br />
<code> colony.addPenguin(mumble);</code><br />
<code> colony.addPenguin(emperor);</code><br />
<code> Iterator&lt;Penguin&gt; it = colony.getPenguins();</code><br />
<code>// The bad line of code:</code><br />
<code> for (Penguin p : it) {</code><br />
<code> System.out.println(p);</code><br />
<code> }</code><br />
<code> }</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>You cannot just pass an <code>Iterator</code> into the enhanced for-loop. The 2nd line of the following will generate a compilation error:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> Iterator&lt;Penguin&gt; it = colony.getPenguins();</code><br />
<code> for (Penguin p : it) {</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>The error:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>BadColony.java:36: foreach not applicable to expression type</code><br />
<code> for (Penguin p : it) {</code><br />
<code> ^</code><br />
<code>1 error</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>In order to be able to use your class with an enhanced for-loop, it does need an <code>Iterator</code>, but that <code>Iterator</code> must be provided via the <code>Iterable</code> interface:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>public interface java.lang.Iterable {</code><br />
<code> public java.util.Iterator iterator();</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Actually, to be more correct, you can use a generic <code>T</code>, allowing the enhanced for-loop to avoid casting, returning the designated generic type, instead of just a plain old <code>Object</code>.</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>public interface java.lang.Iterable&lt;T&gt; {</code><br />
<code> public java.util.Iterator&lt;T&gt; iterator();</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>It is this <code>Iterable</code> object which is then provided to the enhanced for loop. By making the <code>Colony</code> class implement <code>Iterable</code>, and having its new <code>iterator()</code> method return the <code>Iterator</code> that <code>getPenguins()</code> provides, you&#8217;ll be able to loop through the penguins in the colony via an enhanced for-loop.</p>
<p>By adding the proper implements clause:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>public class Colony implements Iterable&lt;Colony.Penguin&gt; {</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>You then get your enhanced or loop for the colony:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> for (Penguin p : colony) {</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Here&#8217;s the updated Colony class with the corrected code:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>import java.util.*;</code></p>
<p><code>public class Colony implements Iterable&lt;Colony.Penguin&gt; {</code></p>
<p><code> static class Penguin {</code><br />
<code> String name;</code><br />
<code> Penguin(String name) {</code><br />
<code> this.name = name;</code><br />
<code> }</code><br />
<code> public String toString() {</code><br />
<code> return "Penguin{" + name + "}";</code><br />
<code> }</code><br />
<code> }</code></p>
<p><code> Set&lt;Penguin&gt; set = new HashSet&lt;Penguin&gt;();</code></p>
<p><code> public void addPenguin(Penguin p) {</code><br />
<code> set.add(p);</code><br />
<code> }</code></p>
<p><code> public Iterator&lt;Penguin&gt; getPenguins() {</code><br />
<code> return set.iterator();</code><br />
<code> }</code></p>
<p><code> public Iterator&lt;Penguin&gt; iterator() {</code><br />
<code> return getPenguins();</code><br />
<code> }</code></p>
<p><code> public static void main(String args[]) {</code><br />
<code> Colony colony = new Colony();</code><br />
<code> Penguin opus = new Penguin("Opus");</code><br />
<code> Penguin chilly = new Penguin("Chilly Willy");</code><br />
<code> Penguin mumble = new Penguin("Mumble");</code><br />
<code> Penguin emperor = new Penguin("Emperor");</code><br />
<code> colony.addPenguin(opus);</code><br />
<code> colony.addPenguin(chilly);</code><br />
<code> colony.addPenguin(mumble);</code><br />
<code> colony.addPenguin(emperor);</code><br />
<code> for (Penguin p : colony) {</code><br />
<code> System.out.println(p);</code><br />
<code> }</code><br />
<code> }</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Running the code produces the following output:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> &gt; java Colony</code></p>
<p><code> Penguin{Chilly Willy}</code><br />
<code> Penguin{Mumble}</code><br />
<code> Penguin{Opus}</code><br />
<code> Penguin{Emperor}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Keep in mind that the individual penguins are internally kept in a Set type collection so the returned order doesn&#8217;t necessarily match the insertion order, which in this case it doesn&#8217;t.</p>
<p>Remember to genericize the implements clause for the class &#8220;<code>implements Iterable&lt;T&gt;</code>&#8221; and not just say &#8220;<code>implements Iterable</code>&#8220;. With the latter, the enhanced for-loop will only return an <code>Object</code> for each element.</p>
<p>For more information on the enhanced for-loop, please see the <a href="http://java.sun.com/j2se/1.5.0/docs/guide/language/foreach.html"> Java Programming Language guide from JDK 1.5</a></p>
<p><a name="2"></a></p>
<div><strong>Beyond Preferences API Basics</strong></div>
<div class="contentdivider">
<table class="grey4" border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td><img src="http://java.sun.com/im/a.gif" border="0" alt=" " width="1" height="4" /></td>
</tr>
</tbody>
</table>
</div>
<p>The Preferences API was first covered here shortly after it was introduced with the 1.4 version of the standard platform: the July 15, 2003 article,  the <a href="http://java.sun.com/developer/JDCTechTips/2003/tt0715.html#1"> Preferences API</a>.</p>
<p>That article described how to get and set user specific preferences. There is more to the Preferences API than just getting and setting user specific settings. There are system preferences, import and export preferences, and event notifications associated with preferences. There is even a way to provide your own custom location for storage of preferences. The first three options mentioned will be described here. Creating a custom preferences factory will be left to a later tip.</p>
<div><strong>System Preferences</strong></div>
<p>The Preferences API provides for two separate sets of preferences. The first set is for the individual user, allow multiple users on the same machine to have different settings defined. These are called user preferences. Each user who shares the same machine can have his or her  own unique set of values associated with a group of preferences. Something like this could be like a user password or starting directory. You don&#8217;t want every person on the same machine to have the same password and home directory. Well, I would hope you don&#8217;t want that.</p>
<p>The other form of preferences is the system type. All users of a machine share the same set of system preferences. For instance, the location of an installed printer would typically be a system preference. You wouldn&#8217;t necessarily have a different set of printers installed for different users. Everyone running on one machine would know about all printers known by that machine.</p>
<p>Another example of a system preference would be the high score of a game. There should only be one overall high score. That&#8217;s what a system preference would be used for.  In the previous tip you saw how <code>userNodeForPackge()</code> &#8212; and subsequently <code>userRoot()</code> &#8212; was used to acquire the user&#8217;s preference node,  the following example shows how to get the appropriate part of the system  preferences tree with <code>systemNodeForPackage()</code> &#8212; or <code>systemRoot()</code> for the root. Other than the method call to get the right preference node, the API usage is identical.</p>
<p>The example is a simple game, using the game term loosely here. It picks a random number from 0 to 99. If the number is higher than the previously saved number, it updates the &#8220;high score.&#8221; The example also shows the current high score. The Preferences API usage is rather simple. The example just gets the saved value with <code>getSavedHighScore()</code>, providing a default of -1 if no high score had been saved yet, and <code>updateHighScore(int value)</code> to store the new high score. The <code>HIGH_SCORE</code> key is a constant shared by the new Preferences API accesses.</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> private static int getSavedHighScore() {</code><br />
<code> Preferences systemNode = Preferences.systemNodeForPackage(High.class);</code><br />
<code> return systemNode.getInt(HIGH_SCORE, -1);</code><br />
<code> }</code></p>
<p><code> private static void updateHighScore(int value) {</code><br />
<code> Preferences systemNode = Preferences.systemNodeForPackage(High.class);</code><br />
<code> systemNode.putInt(HIGH_SCORE, value);</code><br />
<code> }</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Here&#8217;s what the whole program looks like:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>import java.util.*;</code><br />
<code>import java.util.prefs.*;</code><br />
<code>import javax.swing.*;</code><br />
<code>import java.awt.*;</code><br />
<code>import java.awt.event.*;</code></p>
<p><code>public class High {</code><br />
<code> static JLabel highScore = new JLabel();</code><br />
<code> static JLabel score = new JLabel();</code><br />
<code> static Random random = new Random(new Date().getTime());</code><br />
<code> private static final String HIGH_SCORE = "High.highScore";</code></p>
<p><code> public static void main (String args[]) {</code><br />
<code> /* -- Uncomment these lines to clear saved score</code><br />
<code> Preferences systemNode = Preferences.systemNodeForPackage(High.class);</code><br />
<code> systemNode.remove(HIGH_SCORE);</code><br />
<code> */</code></p>
<p><code> EventQueue.invokeLater(</code><br />
<code> new Runnable() {</code><br />
<code> public void run() {</code><br />
<code> JFrame frame = new JFrame("High Score");</code><br />
<code> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</code><br />
<code> updateHighScoreLabel(getSavedHighScore());</code><br />
<code> frame.add(highScore, BorderLayout.NORTH);</code><br />
<code> frame.add(score, BorderLayout.CENTER);</code><br />
<code> JButton button = new JButton("Play");</code><br />
<code> ActionListener listener = new ActionListener() {</code><br />
<code> public void actionPerformed(ActionEvent e) {</code><br />
<code> int next = random.nextInt(100);</code><br />
<code> score.setText(Integer.toString(next));</code><br />
<code> int old = getSavedHighScore();</code><br />
<code> if (next &gt; old) {</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> updateHighScore(next);</code><br />
<code> updateHighScoreLabel(next);</code><br />
<code> }</code><br />
<code> }</code><br />
<code> };</code><br />
<code> button.addActionListener(listener);</code><br />
<code> frame.add(button, BorderLayout.SOUTH);</code><br />
<code> frame.setSize(200, 200);</code><br />
<code> frame.setVisible(true);</code><br />
<code> }</code><br />
<code> }</code><br />
<code> );</code><br />
<code> }</code></p>
<p><code> private static void updateHighScoreLabel(int value) {</code><br />
<code> if (value == -1) {</code><br />
<code> highScore.setText("");</code><br />
<code> } else {</code><br />
<code> highScore.setText(Integer.toString(value));</code><br />
<code> }</code><br />
<code> }</code></p>
<p><code> private static int getSavedHighScore() {</code><br />
<code> Preferences systemNode = Preferences.systemNodeForPackage(High.class);</code><br />
<code> return systemNode.getInt(HIGH_SCORE, -1);</code><br />
<code> }</code></p>
<p><code> private static void updateHighScore(int value) {</code><br />
<code> Preferences systemNode = Preferences.systemNodeForPackage(High.class);</code><br />
<code> systemNode.putInt(HIGH_SCORE, value);</code><br />
<code> }</code><br />
<code>}</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>And, here&#8217;s what the screen looks like after a few runs. The 61 score is not apt to be your high score, but it certainly could be.</p>
<table border="0" cellspacing="0" cellpadding="2" width="201">
<tbody>
<tr>
<td class="grey3" align="center"><img src="http://java.sun.com/mailers/techtips/corejava/2007/img/high.png" border="0" alt="High Score 61" width="201" height="200" /></p>
<div class="pad3"><span class="dkcaption1"><em> High Score 61</em></span></div>
</td>
</tr>
</tbody>
</table>
<p>You can try running the application as different users to see that they all share the same high score.</p>
<div><strong>Import and Export</strong></div>
<p>In the event that you wish to transfer preferences from one user to another or from one system to another, you can export the preferences from that one user/system, and then import them to the other side. When preferences are exported, they are exported into an XML formatted document whose DTD is specified by <code>http://java.sun.com/dtd/preferences.dtd</code>, though you don&#8217;t really need to know that. You can export either a whole subtree with the <code>exportSubtree()</code> method or just a single node with the <code>exportNode()</code> method. Both methods accept an <code>OutputStream</code> argument to specify where to store things. The XML document will be UTF-8 character encoded. Importing of the data then happens via the <code>importPreferences()</code> method, which takes an <code>InputStream</code> argument. From an API perspective, there is no difference in importing a system node/tree or a user node.</p>
<p>Adding a few lines of code to the previous example will export the newly updated high score to the file high.xml. Much of the added code is responsible for launching a new thread to save the file and for handling exceptions. There are only three lines to export the single node:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> Thread runner = new Thread(new Runnable() {</code><br />
<code> public void run() {</code><br />
<code> try {</code><br />
<code> FileOutputStream fis = new FileOutputStream("high.xml");</code><br />
<code> systemNode.exportNode(fis);</code><br />
<code> fis.close();</code><br />
<code> } catch (Exception e) {</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> }</code><br />
<code> }</code><br />
<code> });</code><br />
<code> runner.start();</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>When exported, the file will look something like the following:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="no"?&gt;</code><br />
<code>&lt;!DOCTYPE preferences SYSTEM "http://java.sun.com/dtd/preferences.dtd"&gt;</code><br />
<code>&lt;preferences EXTERNAL_XML_VERSION="1.0"&gt;</code><br />
<code> &lt;root type="system"&gt;</code><br />
<code> &lt;map/&gt;</code><br />
<code> &lt;node name="&lt;unnamed&gt;"&gt;</code><br />
<code> &lt;map&gt;</code><br />
<code> &lt;entry key="High.highScore" value="95"/&gt;</code><br />
<code> &lt;/map&gt;</code><br />
<code> &lt;/node&gt;</code><br />
<code> &lt;/root&gt;</code><br />
<code>&lt;/preferences&gt;</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Notice the root element has a type attribute that says &#8220;<code>system</code>&#8220;. This states the type of node it is. The node also has a name attribute valued at &#8220;<code>&lt;unnamed&gt;</code>&#8220;. Since the <code>High</code> class was not placed in a package, you get to work in the unnamed system node area. The entry attribute provide the current high score value, 95 in the example here, though your value could differ.</p>
<p>While we won&#8217;t include any import code in the example here, the way to import is just a static method call on Preferences, passing in the appropriate input stream:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> FileInputStream fis = new FileInputStream("high.xml");</code><br />
<code> Preferences.importPreferences(fis);</code><br />
<code> fis.close();</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>Since the XML file includes information about whether the preferences are system or user type, the import call doesn&#8217;t have to explicitly include this bit of information. Besides the typical <code>IOExceptions</code> that can happen, the import call will throw an <code>InvalidPreferencesFormatException</code> if the file format is invalid. Exporting can also throw a <code>BackingStoreException</code> if the data to export can&#8217;t be read correctly from the backing store.</p>
<p>Event Notifications</p>
<p>The original version of the <code>High</code> game updated the high score preference, then explicitly made a call to update the label on the screen. A better way to perform this action would be to add  a listener to the preferences node, then a value change can automatically trigger the label to update its value. That way,  if the high score is ever updated from multiple places, you won&#8217;t need to remember to add code to update the label after saving the updated value.</p>
<p>The two lines:</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> updateHighScore(next);</code><br />
<code> updateHighScoreLabel(next);</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>can become one with the addition of the right listeners.</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> updateHighScore(next);</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>There is a <code>PreferenceChangeListener</code> and its associated <code>PreferenceChangeEvent</code> for just such a task. The listener will be notified for all changes to the associated node, so you need to check for which key-value pair was modified, as shown here.</p>
<div style="overflow:auto;width:600px;">
<table class="grey4" border="0" cellspacing="0" cellpadding="10" width="100%">
<tbody>
<tr>
<td><code> PreferenceChangeListener changeListener =</code><br />
<code> new PreferenceChangeListener() {</code></p>
<p><code> public void preferenceChange(PreferenceChangeEvent e) {</code><br />
<code> if (HIGH_SCORE.equals(e.getKey())) {</code><br />
<code> String newValue = e.getNewValue();</code><br />
<code> int value = Integer.valueOf(newValue);</code><br />
<code> updateHighScoreLabel(value);</code><br />
<code> }</code><br />
<code> }</code><br />
<code> };</code><br />
<code> systemNode.addPreferenceChangeListener(changeListener);</code></td>
</tr>
</tbody>
</table>
<p><span class="sp10"> </span></div>
<p>The <code>PreferenceChangeEvent</code> has three important properties: the key, new new value, and the node itself. The new value doesn&#8217;t have all the convenience methods of Preferences though. For example, you can&#8217;t retrieve the value as an int. Instead you must manually convert the value yourself. Here&#8217;s what the modified <code>High</code> class looks like:</p>
<p><code>import java.awt.*;</code><br />
<code>import java.awt.event.*;</code><br />
<code>import java.io.*;</code><br />
<code>import java.util.*;</code><br />
<code>import java.util.prefs.*;</code><br />
<code>import javax.swing.*;</code></p>
<p><code>public class High {</code><br />
<code> static JLabel highScore = new JLabel();</code><br />
<code> static JLabel score = new JLabel();</code><br />
<code> static Random random = new Random(new Date().getTime());</code><br />
<code> private static final String HIGH_SCORE = "High.highScore";</code><br />
<code> static Preferences systemNode =</code><br />
<code> Preferences.systemNodeForPackage(High.class);</code></p>
<p><code> public static void main (String args[]) {</code><br />
<code> /* -- Uncomment these lines to clear saved score</code><br />
<code> systemNode.remove(HIGH_SCORE);</code><br />
<code> */</code></p>
<p><code> PreferenceChangeListener changeListener =</code><br />
<code> new PreferenceChangeListener() {</code></p>
<p><code> public void preferenceChange(PreferenceChangeEvent e) {</code><br />
<code> if (HIGH_SCORE.equals(e.getKey())) {</code><br />
<code> String newValue = e.getNewValue();</code><br />
<code> int value = Integer.valueOf(newValue);</code><br />
<code> updateHighScoreLabel(value);</code><br />
<code> }</code><br />
<code> }</code><br />
<code> };</code><br />
<code> systemNode.addPreferenceChangeListener(changeListener);</code></p>
<p><code> EventQueue.invokeLater(</code><br />
<code> new Runnable() {</code><br />
<code> public void run() {</code><br />
<code> JFrame frame = new JFrame("High Score");</code><br />
<code> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</code><br />
<code> updateHighScoreLabel(getSavedHighScore());</code><br />
<code> frame.add(highScore, BorderLayout.NORTH);</code><br />
<code> frame.add(score, BorderLayout.CENTER);</code><br />
<code> JButton button = new JButton("Play");</code><br />
<code> ActionListener listener = new ActionListener() {</code><br />
<code> public void actionPerformed(ActionEvent e) {</code><br />
<code> int next = random.nextInt(100);</code><br />
<code> score.setText(Integer.toString(next));</code><br />
<code> int old = getSavedHighScore();</code><br />
<code> if (next &gt; old) {</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> updateHighScore(next);</code><br />
<code> }</code><br />
<code> }</code><br />
<code> };</code><br />
<code> button.addActionListener(listener);</code><br />
<code> frame.add(button, BorderLayout.SOUTH);</code><br />
<code> frame.setSize(200, 200);</code><br />
<code> frame.setVisible(true);</code><br />
<code> }</code><br />
<code> }</code><br />
<code> );</code><br />
<code> }</code></p>
<p><code> private static void updateHighScoreLabel(int value) {</code><br />
<code> if (value == -1) {</code><br />
<code> highScore.setText("");</code><br />
<code> } else {</code><br />
<code> highScore.setText(Integer.toString(value));</code><br />
<code> }</code><br />
<code> }</code></p>
<p><code> private static int getSavedHighScore() {</code><br />
<code> return systemNode.getInt(HIGH_SCORE, -1);</code><br />
<code> }</code></p>
<p><code> private static void updateHighScore(int value) {</code><br />
<code> systemNode.putInt(HIGH_SCORE, value);</code><br />
<code> // Save XML in separate thread</code><br />
<code> Thread runner = new Thread(new Runnable() {</code><br />
<code> public void run() {</code><br />
<code> try {</code><br />
<code> FileOutputStream fis = new FileOutputStream("high.xml");</code><br />
<code> systemNode.exportNode(fis);</code><br />
<code> fis.close();</code><br />
<code> } catch (Exception e) {</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> Toolkit.getDefaultToolkit().beep();</code><br />
<code> }</code><br />
<code> }</code><br />
<code> });</code><br />
<code> runner.start();</code><br />
<code> }</code><br />
<code>}</code></p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=75&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/11/06/enhanced-for-loop-and-preferences-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://java.sun.com/im/a.gif" medium="image">
			<media:title type="html"> </media:title>
		</media:content>

		<media:content url="http://java.sun.com/mailers/techtips/corejava/2007/img/high.png" medium="image">
			<media:title type="html">High Score 61</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />
	</item>
		<item>
		<title>JAVA: A Beginner&#8217;s Guide</title>
		<link>http://javawebworld.wordpress.com/2008/10/10/java-a-beginners-guide/</link>
		<comments>http://javawebworld.wordpress.com/2008/10/10/java-a-beginners-guide/#comments</comments>
		<pubDate>Fri, 10 Oct 2008 04:48:08 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[JAVA:A Beginner's Guide]]></category>
		<category><![CDATA[Applets]]></category>
		<category><![CDATA[BeginnersGuide]]></category>
		<category><![CDATA[ObjectOrientedProgramming]]></category>
		<category><![CDATA[PlatformIndependence]]></category>
		<category><![CDATA[Simplicity]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/?p=70</guid>
		<description><![CDATA[googlecb2cccaf0c20f8b8.html Java is an object-oriented programming language developed by Sun Microsystems, a company best known for its high-end Unix workstations. Modeled after C++, the Java language was designed to be small, simple, and portable across platforms and operating systems, both at the source and at the binary level. The Java language was developed at Sun [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=70&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://javawebworld.files.wordpress.com/2008/10/gandhi1.jpg"><img class="aligncenter size-medium wp-image-72" title="gandhi1" src="http://javawebworld.files.wordpress.com/2008/10/gandhi1.jpg?w=255&#038;h=300" alt="" width="255" height="300" /></a><br />
googlecb2cccaf0c20f8b8.html<br />
Java is an object-oriented programming language developed by Sun Microsystems, a company best known for its high-end Unix workstations. Modeled after C++, the Java language was designed to be small, simple, and portable across platforms and operating systems, both at the source and at the binary level.</p>
<p>The Java language was developed at Sun Microsystems in 1991 as part of a research project to develop software for consumer electronics devices-television sets, VCRs, toasters, and the other sorts of machines you can buy at any department store. Java&#8217;s goals at that time were to be small, fast, efficient, and easily portable to a wide range of hardware devices. It is those same goals that made Java an ideal language for distributing executable programs via the World Wide Web, and also a general-purpose programming language for developing programs that are easily usable and portable across different platforms. This is the major reason why Java is said to be the most successful platform independent language.</p>
<p>Java as a language has significant advantages over other languages and other programming environments that make it suitable for just about any programming task. Some of them are listed below:</p>
<p><strong> Applets</strong><br />
Applets appear in a Web page much in the same way as images do, but unlike images, applets are   dynamic and interactive. Applets can be used to create animations, figures, or areas that can respond to input from the reader, games, or other interactive effects on the same Web pages among the text and graphics. Java enabled browsers can successfully run applets and thus give a truly rich experience at the user end.</p>
<p><strong>Platform Independence</strong><br />
Platform independence is one of the most significant advantages that Java has over other programming languages, particularly for systems that need to work on many different platforms. Java is platform-independent at both the source and the binary level. Platform-independence is a program&#8217;s capability of moving easily from one computer system to another. Java binary files called byte-codes are also platform-independent and can run on multiple platforms without the need to recompile the source. Byte-codes are a set of instructions that look a lot like machine code, but are not specific to any one processor. Because of them, compilation happens just once; interpretation occurs each time the program is executed. Java byte-codes help make &#8220;write once, run anywhere&#8221; possible.</p>
<p><strong>Simplicity </strong><br />
In addition to its portability and object-orientation, one of Java&#8217;s initial design goals was to be small and simple, and therefore easier to write, easier to compile, easier to debug, and, best of all, easy to learn. Keeping the language small also makes it more robust because there are fewer chances for programmers to make difficult-to-find mistakes. Despite its size and simple design, however, Java still has a great deal of power and flexibility.</p>
<p><strong>Better Cousin of C, C++</strong><br />
Java is modeled after C and C++, and much of the syntax and object-oriented structure is borrowed from the latter. If you are familiar with C++, learning Java will be particularly easy for you, because you have most of the foundation already. Although Java looks similar to C and C++, most of the more complex parts of those languages have been excluded from Java, making the language simpler without sacrificing much of its power. There are no pointers in Java, nor is there pointer arithmetic. Strings and arrays are real objects in Java. Memory management is automatic. To an experienced programmer, these omissions may be difficult to get used to, but to beginners or programmers who have worked in other languages; they make the Java language far easier to learn.</p>
<p><strong>Object Oriented Programming</strong><br />
Java is object-oriented programming (OOP) technique, which is merely a way of organizing programs for creating flexible, modular programs and reusing code. . Like most object-oriented programming languages, Java includes a set of class libraries that provide basic data types, system input and output capabilities, and other utility functions. Because these class libraries are written in Java, they are portable across platforms as all Java applications are.</p>
<p><strong>Applets and Applications</strong><br />
The most common types of programs written in the Java programming language are applets and applications. If you&#8217;ve surfed the Web, you&#8217;re probably already familiar with applets. An applet is a program that adheres to certain conventions that allow it to run within a Java-enabled browser.</p>
<p>An application is a standalone program that runs directly on the Java platform. A special kind of application known as a server serves and supports clients on a network. Examples of servers are Web servers, proxy servers, mail servers, and print servers. Another specialized program is a servlet. A servlet can almost be thought of as an applet that runs on the server side. Java Servlets are a popular choice for building interactive web applications, replacing the use of CGI scripts. Servlets are similar to applets in that they are runtime extensions of applications. Instead of working in browsers, though, servlets run within Java Web servers, configuring or tailoring the server.</p>
<p>Full implementation of the Java platform provides the essentials like objects, strings, threads, numbers, input and output, data structures, system properties, date and time. Both, low and high level security, including electronic signatures, public and private key management, access control, and certificates are provided by java platform. Networking management, Java Database Connectivity (JDBC), Remote Method Invocation (RMI) are some of the other features of Java.</p>
<p><!-- AddThis Button BEGIN --></p>
<div><a href="http://www.addthis.com/bookmark.php"><img style="border:0;" src="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" border="0" alt="" width="125" height="16" /></a></div>
<p><!-- AddThis Button END --></p>
<div id="seolinx-tooltip" style="border:1px solid #000000;display:none;opacity:0.9;position:absolute;width:auto;z-index:99999;margin:0;padding:0;">
<table style="border:0 none;border-collapse:separate;width:auto;margin:0;padding:0;" border="0">
<tbody>
<tr>
<td style="border:0 none;font-family:Tahoma;font-size:11px;font-weight:bold;margin:1px;padding:0;">
<div style="overflow:auto;width:auto;margin:0;padding:0;">
<table id="seolinx-paramtable" style="border:1px solid gray;border-collapse:separate;margin:0;" border="0">
<tbody>
<tr>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://toolbarqueries.google.com/favicon.ico" alt="" width="12px" height="12px" /> PR: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Google pagerank" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://www.google.com/favicon.ico" alt="" width="12px" height="12px" /> I: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Google index" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://www.google.com/favicon.ico" alt="" width="12px" height="12px" /> L: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Google links" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://siteexplorer.search.yahoo.com/favicon.ico" alt="" width="12px" height="12px" /> LD: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Yahoo linkdomain" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://www.bing.com/favicon.ico" alt="" width="12px" height="12px" /> I: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Bing index" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Sitemap.xml" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://www.semrush.com/favicon.ico" alt="" width="12px" height="12px" /> Rank: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="SEMRush Rank" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://www.semrush.com/favicon.ico" alt="" width="12px" height="12px" /> Traffic: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="SEMRush SE Traffic" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://www.semrush.com/favicon.ico" alt="" width="12px" height="12px" /> Price: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="SEMRush SE Traffic price" href="{}">wait&#8230;</a></td>
<td style="border:1px solid gray;background:#f0f0f0 none repeat scroll 0 0;color:darkgreen;font-family:Tahoma;font-size:7pt;font-weight:bold;white-space:nowrap;padding:2px;"><img style="vertical-align:middle;" src="http://siteanalytics.compete.com/favicon.ico" alt="" width="12px" height="12px" /> C: <a style="color:blue;font-family:Tahoma;font-size:7pt;font-weight:bold;text-decoration:underline;" title="Compete Rank" href="{}">wait&#8230;</a></td>
</tr>
</tbody>
</table>
</div>
</td>
<td style="border:0 none;cursor:pointer;vertical-align:middle;width:auto;margin:0;padding:1px;"><img src="//seoquake/content/skin/close.gif" alt="" /></td>
</tr>
</tbody>
</table>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/70/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/70/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/70/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=70&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/10/10/java-a-beginners-guide/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>

		<media:content url="http://javawebworld.files.wordpress.com/2008/10/gandhi1.jpg?w=255" medium="image">
			<media:title type="html">gandhi1</media:title>
		</media:content>

		<media:content url="http://s7.addthis.com/static/btn/lg-bookmark-en.gif" medium="image" />

		<media:content url="http://toolbarqueries.google.com/favicon.ico" medium="image" />

		<media:content url="http://www.google.com/favicon.ico" medium="image" />

		<media:content url="http://www.google.com/favicon.ico" medium="image" />

		<media:content url="http://siteexplorer.search.yahoo.com/favicon.ico" medium="image" />

		<media:content url="http://www.bing.com/favicon.ico" medium="image" />

		<media:content url="http://www.semrush.com/favicon.ico" medium="image" />

		<media:content url="http://www.semrush.com/favicon.ico" medium="image" />

		<media:content url="http://www.semrush.com/favicon.ico" medium="image" />

		<media:content url="http://siteanalytics.compete.com/favicon.ico" medium="image" />
	</item>
		<item>
		<title>One Liner For JAVA</title>
		<link>http://javawebworld.wordpress.com/2008/09/22/one-liner-for-java/</link>
		<comments>http://javawebworld.wordpress.com/2008/09/22/one-liner-for-java/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 14:22:19 +0000</pubDate>
		<dc:creator>javawebworld</dc:creator>
				<category><![CDATA[phrases]]></category>
		<category><![CDATA[Quotes]]></category>

		<guid isPermaLink="false">http://javawebworld.wordpress.com/2008/09/22/64/</guid>
		<description><![CDATA[Java is the most distressing thing to happen to computing since MS-DOS !! If Java had true garbage collection, most programs would delete themselves upon execution. I fear the the new object-oriented systems may suffer the fate of LISP, in that they can do many things, but the complexity of the class hierarchies may cause [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=64&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Java is the most distressing thing to happen to computing since MS-DOS !!</p>
<p>If Java had true garbage collection, most programs would delete themselves upon execution.</p>
<p>I fear the the new object-oriented systems may suffer the fate of LISP, in that they can do many things, but the complexity of the class hierarchies may cause them to collapse under their own weight.</p>
<p>Claiming Java is easier than C++ is like saying that K2 is shorter than Everest.</p>
<p>Java is the SUV of programming tools.</p>
<p>If you learn to program in Java, you&#8217;ll never be without a job!</p>
<p>Knowing the syntax of Java does not make someone a software engineer.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/javawebworld.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/javawebworld.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/javawebworld.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/javawebworld.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/javawebworld.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/javawebworld.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/javawebworld.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/javawebworld.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=javawebworld.wordpress.com&amp;blog=4917462&amp;post=64&amp;subd=javawebworld&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://javawebworld.wordpress.com/2008/09/22/one-liner-for-java/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b55131400c41e0e7f17312cdaf2c6ffb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">javawebworld</media:title>
		</media:content>
	</item>
	</channel>
</rss>
