<?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>Baskar.felix's Weblog</title>
	<atom:link href="http://baskarfelix.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://baskarfelix.wordpress.com</link>
	<description>Obstacles can't stop you. Problems can't stop you. Most of all, other people can't stop you. Only you can stop you.</description>
	<lastBuildDate>Tue, 15 Sep 2009 11:19:05 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='baskarfelix.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/363bb25e9c7931ad61362986c3d12153?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Baskar.felix's Weblog</title>
		<link>http://baskarfelix.wordpress.com</link>
	</image>
			<item>
		<title>ThreadLocal in Java</title>
		<link>http://baskarfelix.wordpress.com/2009/09/15/threadlocal-in-java/</link>
		<comments>http://baskarfelix.wordpress.com/2009/09/15/threadlocal-in-java/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 11:19:05 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[1]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[performance tuning in java]]></category>
		<category><![CDATA[struts]]></category>
		<category><![CDATA[ThreadLocal]]></category>
		<category><![CDATA[ThreadLocal in Java]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=71</guid>
		<description><![CDATA[ThreadLocal is one of the rarely used class in Java. I found it is one of the powerful class in Java on multi-threaded programming. In multi threaded program generally we use session object to track the current users information.
These information is passed to various method to retrieve desired value. For example in Struts execute method [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=71&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>ThreadLocal is one of the rarely used class in Java. I found it is one of the powerful class in Java on multi-threaded programming. In multi threaded program generally we use session object to track the current users information.</p>
<p>These information is passed to various method to retrieve desired value. For example in Struts execute method passes HttpServletRequest and HttpServletResponse, what if we want the instance of ServletContext? we have to change the method signatore to pass ServletContext. One can use ThreadLocal to keep certain objects/values available throught the thread execution.</p>
<p>ThreadLocal object is not required on day to day programming unlike ArrayList or HashMap. But it is good choice to solve a few problems at framework level. In one of my recent project I have used ThreadLocal to expose user specific information like User info, UserId, Roles and access, etc.</p>
<p>The main reason is I want hide the code which identifies these values so that in future it is easy to change the behavior and fine tune the code across the application.</p>
Posted in 1, Java, performance tuning in java, struts Tagged: ThreadLocal, ThreadLocal in Java <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=71&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2009/09/15/threadlocal-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>Abstract vs Interface</title>
		<link>http://baskarfelix.wordpress.com/2009/07/02/abstract-vs-interface/</link>
		<comments>http://baskarfelix.wordpress.com/2009/07/02/abstract-vs-interface/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 06:47:16 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Abstract vs Interface]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=60</guid>
		<description><![CDATA[ü  Abstract class is a class which contains one or more abstract methods, which has to be implemented by sub classes. An abstract class can contain no abstract methods also i.e. abstract class may contain concrete methods. A Java Interface can contain only method declarations and public static final constants and doesn’t contain their implementation. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=60&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>ü  Abstract class is a class which contains one or more abstract methods, which has to be implemented by sub classes. An abstract class can contain no abstract methods also i.e. abstract class may contain concrete methods. A Java Interface can contain only method declarations and public static final constants and doesn’t contain their implementation. The classes which implement the Interface must provide the method definition for all the methods present.</p>
<p>ü  Abstract class definition begins with the keyword “abstract” keyword followed by Class definition. An Interface definition begins with the keyword “interface”.</p>
<p>ü  Abstract classes are useful in a situation when some general methods should be implemented and specialization behavior should be implemented by subclasses. Interfaces are useful in a situation when all its properties need to be implemented by subclasses</p>
<p>ü  All variables in an Interface are by default &#8211; public static final while an abstract class can have instance variables.</p>
<p>ü  An interface is also used in situations when a class needs to extend another class apart from the abstract class. In such situations it’s not possible to have multiple inheritances of classes. An interface on the other hand can be used when it is required to implement one or more interfaces. Abstract class does not support Multiple Inheritance whereas an Interface supports multiple Inheritances.</p>
<p>ü  An Interface can only have public members whereas an abstract class can contain private as well as protected members.</p>
<p>ü  A class implementing an interface must implement all of the methods defined in the interface, while a class extending an abstract class need not implement any of the methods defined in the abstract class.</p>
<p>ü  The problem with an interface is, if you want to add a new feature (method) in its contract, then you MUST implement those methods in all of the classes which implement that interface. However, in the case of an abstract class, the method can be simply implemented in the abstract class and the same can be called by its subclass</p>
<p>ü  Interfaces are slow as it requires extra indirection to find corresponding method in the actual class. Abstract classes are fast</p>
<p>ü  Interfaces are often used to describe the peripheral abilities of a class, and not its central identity,</p>
<p> E.g. an Automobile class might implement the Recyclable interface, which could apply to many otherwise totally unrelated objects.</p>
<p>Note: There is no difference between a fully abstract class (all methods declared as abstract and all fields are public static final) and an interface.</p>
<p>Note: If the various objects are all of-a-kind, and share a common state and behavior, then tend towards a common base class. If all they<br />
share is a set of method signatures, then tend towards an interface.</p>
<p>Similarities:<br />
Neither Abstract classes nor Interface can be instantiated.</p>
Posted in Java Tagged: Abstract vs Interface <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=60&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2009/07/02/abstract-vs-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>SPRING 3.0</title>
		<link>http://baskarfelix.wordpress.com/2009/01/28/spring-30/</link>
		<comments>http://baskarfelix.wordpress.com/2009/01/28/spring-30/#comments</comments>
		<pubDate>Wed, 28 Jan 2009 10:11:32 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[spring]]></category>
		<category><![CDATA[new spring features]]></category>
		<category><![CDATA[spring 3]]></category>
		<category><![CDATA[spring features]]></category>
		<category><![CDATA[spring framework]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=46</guid>
		<description><![CDATA[I’m pleased to inform that SPRING 3.0 M1 is finally available to download.
This release has several major changes like 
Ø  revised project layout and build system with module-based sources 
Ø  updated entire codebase for Java 5 code style (generics, varargs) 
Ø  updated to JUnit 4.5 and JRuby 1.1 
Ø  introduced Spring EL parser (org.springframework.expression package) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=46&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">I’m pleased to inform that SPRING 3.0 M1 is finally available to </span><span style="font-size:9pt;color:#333333;line-height:115%;font-family:&quot;"><a href="http://www.springsource.com/download/community?project=Spring%20Framework"><span style="color:#728c16;">download</span></a>.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">This release has several major changes like </span></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">revised project layout and build system with module-based sources </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">updated entire codebase for Java 5 code style (generics, varargs) </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">updated to JUnit 4.5 and JRuby 1.1 </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced Spring EL parser (org.springframework.expression package) </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced support for #{…} expressions in bean definitions </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced expression-enabled @Value annotation for embedded expressions </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced @PathVariable annotation for URI template handling in MVC handlers </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced default value support for @RequestParam in MVC handlers </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced @RequestHeader annotation for HTTP header access in MVC handlers </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced AbstractAtomFeedView and AbstractRssFeedView base classes </span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;font-family:Calibri;">introduced &lt;spring:url&gt; and &lt;spring:param&gt; JSP tags</span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-.25in;margin:0 0 0 .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><strong><span style="font-size:small;"><span style="font-family:Calibri;">Support EL and REST</span></span></strong></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-.25in;margin:0 0 10pt .5in;"><span style="font-family:Wingdings;"><span><span style="font-size:small;">Ø</span><span style="font:7pt &quot;">  </span></span></span><span style="font-size:small;"><span style="font-family:Calibri;">new support for the Java EE 6 JPA (Java Persistence API) 2, in addition to already existing support for JDBC, Hibernate, iBatis, and much more.<strong></strong></span></span></p>
<p class="MsoNormal" style="vertical-align:top;text-indent:-.25in;line-height:normal;margin:0 0 10pt .5in;"><span style="font-size:12pt;font-family:Wingdings;"><span>Ø<span style="font:7pt &quot;">  </span></span></span><span style="font-size:12pt;font-family:&quot;">Use the now fully integrated SpringSecurity framework, formerly Acegi. </span></p>
<p class="MsoListParagraph" style="text-indent:-.25in;margin:0 0 10pt .5in;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">As well as various minor changes.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;">This version is specifically based on JAVA 6 and J2EE 5 .but its compatibility with JAVA 5 and J2EE1.4 or above.</span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:small;font-family:Calibri;"> </span></p>
Posted in spring Tagged: new spring features, spring, spring 3, spring features, spring framework <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/46/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/46/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/46/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=46&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2009/01/28/spring-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>Encapsulation</title>
		<link>http://baskarfelix.wordpress.com/2008/11/12/encapsulation/</link>
		<comments>http://baskarfelix.wordpress.com/2008/11/12/encapsulation/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 11:13:01 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[OOAD Concepts]]></category>
		<category><![CDATA[oops in java]]></category>
		<category><![CDATA[Encapsulation]]></category>
		<category><![CDATA[ooad]]></category>
		<category><![CDATA[oops]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=41</guid>
		<description><![CDATA[Encapsulation refers to an object hiding its attributes behind its operations.
 
For more information:
It seals the attributes in a capsule, with operations on the edge. 
Hidden attributes are said to be private.
 
 
Way to think of encapsulation is to imagine that objects are courteous to one another. If you wanted to borrow some money from a colleague [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=41&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><strong><span style="font-size:10pt;color:#292526;font-family:Berkeley-Bold;">Encapsulation </span></strong><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;">refers to an object hiding its attributes behind its operations.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;"><span style="font-family:Times New Roman;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;"><span style="font-family:Times New Roman;">For more information:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;"><span style="font-family:Times New Roman;">It seals the attributes in a capsule, with operations on the edge. </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;">Hidden attributes are said to be </span><strong><span style="font-size:10pt;color:#292526;font-family:Berkeley-Bold;">private</span></strong><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;">.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;"><span style="font-family:Times New Roman;">Way to think of encapsulation is to imagine that objects are courteous to one another. If you wanted to borrow some money from a colleague to buy food in the staff canteen, you wouldn’t grab their wallet and look through it to see if they had enough cash.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;"><span style="font-family:Times New Roman;">Instead, you would ask them whether they could lend you some money and they would look</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Times New Roman;"><span style="font-size:10pt;color:#292526;font-family:Berkeley-Medium;">in their own wallet.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
Posted in Java, OOAD Concepts, oops in java Tagged: Encapsulation, ooad, oops <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/41/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/41/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/41/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=41&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/11/12/encapsulation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>Polymorphism (satic and dynamic binding)</title>
		<link>http://baskarfelix.wordpress.com/2008/08/08/polymorphism-satic-and-dynamic-binding/</link>
		<comments>http://baskarfelix.wordpress.com/2008/08/08/polymorphism-satic-and-dynamic-binding/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 07:15:06 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[oops in java]]></category>
		<category><![CDATA[Polymorphism]]></category>
		<category><![CDATA[Polymorphism in java]]></category>
		<category><![CDATA[satic and dynamic binding]]></category>
		<category><![CDATA[satic and dynamic binding in java]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=38</guid>
		<description><![CDATA[Static Binding:
            
Static binding is deciding at compile time which methods to invoke.
The method gets invoked is determined by the type of the reference.
 
In Java, static methods are statically bound.
Also class member variable is applicable for static binding because,
In Java does not support polymorphic behavior for member variables.
 
 
 
For example,
 
public class Animal
{
            public String type = [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=38&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-size:14pt;font-family:Calibri;">Static Binding:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:14pt;font-family:Calibri;"><span>            </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Static binding is deciding at compile time which methods to invoke.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">The method gets invoked is determined by the type of the reference.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">In Java, static methods are statically bound.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Also class member variable is applicable for static binding because,</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">In Java does not support polymorphic behavior for member variables.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">For example,</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:#000000;font-family:Calibri;"> Animal</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> String </span><span style="color:#0000c0;font-family:Calibri;">type</span><span style="color:#000000;font-family:Calibri;"> = </span><span style="color:#2a00ff;font-family:Calibri;">&#8220;mammal&#8221;</span><span style="color:#000000;font-family:Calibri;">;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">void</span></strong><span style="color:#000000;font-family:Calibri;"> show()</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>System.</span><em><span style="color:#0000c0;font-family:Calibri;">out</span></em><span style="color:#000000;font-family:Calibri;">.println(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;The animal is a: &#8220;</span><span style="color:#000000;font-family:Calibri;"> + </span><span style="color:#0000c0;font-family:Calibri;">type</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:#000000;font-family:Calibri;"> Dog </span><strong><span style="color:#7f0055;font-family:Calibri;">extends</span></strong><span style="color:#000000;font-family:Calibri;"> Animal</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> String </span><span style="color:#0000c0;font-family:Calibri;">type</span><span style="color:#000000;font-family:Calibri;">;<span>  </span></span><span style="color:#3f7f5f;font-family:Calibri;">//same member variable name as in base class</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> Dog(String type)</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">this</span></strong><span style="color:#000000;font-family:Calibri;">.</span><span style="color:#0000c0;font-family:Calibri;">type</span><span style="color:#000000;font-family:Calibri;"> = type;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span> </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">void</span></strong><span style="color:#000000;font-family:Calibri;"> show()<span>  </span></span><span style="color:#3f7f5f;font-family:Calibri;">//same method signature as in base class</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>System.</span><em><span style="color:#0000c0;font-family:Calibri;">out</span></em><span style="color:#000000;font-family:Calibri;">.println(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;The dog is a: &#8220;</span><span style="color:#000000;font-family:Calibri;"> + </span><span style="color:#0000c0;font-family:Calibri;">type</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:#000000;font-family:Calibri;"> DemoStaticBinding </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">static</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">void</span></strong><span style="color:#000000;font-family:Calibri;"> main(String[] args) </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>{</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>Animal doggie = </span><strong><span style="color:#7f0055;font-family:Calibri;">new</span></strong><span style="color:#000000;font-family:Calibri;"> Dog(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;daschund&#8221;</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>doggie.show(); </span><span style="color:#3f7f5f;font-family:Calibri;">// &#8220;The dog is a: daschund&#8221;<span>  </span>(dynamic binding)</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>System.</span><em><span style="color:#0000c0;font-family:Calibri;">out</span></em><span style="color:#000000;font-family:Calibri;">.println(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;The type is: &#8220;</span><span style="color:#000000;font-family:Calibri;"> + doggie.</span><span style="color:#0000c0;font-family:Calibri;">type</span><span style="color:#000000;font-family:Calibri;">); </span><span style="color:#3f7f5f;font-family:Calibri;">//&#8221;The type is: mammal&#8221; (static binding)</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:14pt;font-family:Calibri;">Dynamic Binding:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"><span>            </span></span></span></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Dynamic binding is deciding at run time which methods to invoke.</span></span></p>
<p class="MsoNormal" style="text-indent:0.5in;margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Here I explain the concepts,</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:#000000;font-family:Calibri;"> Shape {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">private</span></strong><span style="color:#000000;font-family:Calibri;"> String </span><span style="color:#0000c0;font-family:Calibri;">name</span><span style="color:#000000;font-family:Calibri;">;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> Shape(String aName) {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><span style="color:#0000c0;font-family:Calibri;">name</span><span style="color:#000000;font-family:Calibri;"> = aName;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> String getName() {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">return</span></strong><span style="color:#000000;font-family:Calibri;"> </span><span style="color:#0000c0;font-family:Calibri;">name</span><span style="color:#000000;font-family:Calibri;">;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">float</span></strong><span style="color:#000000;font-family:Calibri;"> calculateArea() {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">return</span></strong><span style="color:#000000;font-family:Calibri;"> 0.0f;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">static</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">void</span></strong><span style="color:#000000;font-family:Calibri;"> main(String argv[]) {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>Circle c = </span><strong><span style="color:#7f0055;font-family:Calibri;">new</span></strong><span style="color:#000000;font-family:Calibri;"> Circle(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;Circle C&#8221;</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>Square s = </span><strong><span style="color:#7f0055;font-family:Calibri;">new</span></strong><span style="color:#000000;font-family:Calibri;"> Square(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;Square S&#8221;</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>Shape shapeArray[] = {c, s};</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">for</span></strong><span style="color:#000000;font-family:Calibri;"> (</span><strong><span style="color:#7f0055;font-family:Calibri;">int</span></strong><span style="color:#000000;font-family:Calibri;"> i=0; i&lt;shapeArray.</span><span style="color:#0000c0;font-family:Calibri;">length</span><span style="color:#000000;font-family:Calibri;">; i++) {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>System.</span><em><span style="color:#0000c0;font-family:Calibri;">out</span></em><span style="color:#000000;font-family:Calibri;">.println(</span><span style="color:#2a00ff;font-family:Calibri;">&#8220;The area of &#8220;</span><span style="color:#000000;font-family:Calibri;"> + shapeArray[i].getName()</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                                                </span>+ </span><span style="color:#2a00ff;font-family:Calibri;">&#8221; is &#8220;</span><span style="color:#000000;font-family:Calibri;"> + shapeArray[i].calculateArea()+</span><span style="color:#2a00ff;font-family:Calibri;">&#8221; sq. cm.\n&#8221;</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:#000000;font-family:Calibri;"> Circle </span><strong><span style="color:#7f0055;font-family:Calibri;">extends</span></strong><span style="color:#000000;font-family:Calibri;"> Shape {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">private</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">int</span></strong><span style="color:#000000;font-family:Calibri;"> </span><span style="color:#0000c0;font-family:Calibri;">radius</span><span style="color:#000000;font-family:Calibri;">;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span><span> </span>Circle(String aName) {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">super</span></strong><span style="color:#000000;font-family:Calibri;">(aName);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><span style="color:#0000c0;font-family:Calibri;">radius</span><span style="color:#000000;font-family:Calibri;"> = 3;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">float</span></strong><span style="color:#000000;font-family:Calibri;"> calculateArea() {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">float</span></strong><span style="color:#000000;font-family:Calibri;"> area;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>area = (</span><strong><span style="color:#7f0055;font-family:Calibri;">float</span></strong><span style="color:#000000;font-family:Calibri;">) (3.14 * </span><span style="color:#0000c0;font-family:Calibri;">radius</span><span style="color:#000000;font-family:Calibri;"> * </span><span style="color:#0000c0;font-family:Calibri;">radius</span><span style="color:#000000;font-family:Calibri;">);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">return</span></strong><span style="color:#000000;font-family:Calibri;"> area;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#000000;font-family:Calibri;"><span style="font-size:small;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#000000;font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:#000000;font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:#000000;font-family:Calibri;"> Square </span><strong><span style="color:#7f0055;font-family:Calibri;">extends</span></strong><span style="color:#000000;font-family:Calibri;"> Shape {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">private</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">int</span></strong><span style="color:#000000;font-family:Calibri;"> </span><span style="color:#0000c0;font-family:Calibri;">side</span><span style="color:#000000;font-family:Calibri;">;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span><span> </span>Square(String aName) {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">super</span></strong><span style="color:#000000;font-family:Calibri;">(aName);</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><span style="color:#0000c0;font-family:Calibri;">side</span><span style="color:#000000;font-family:Calibri;"> = 3;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:#000000;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">float</span></strong><span style="color:#000000;font-family:Calibri;"> calculateArea() {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">int</span></strong><span style="color:#000000;font-family:Calibri;"> area;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span>area = </span><span style="color:#0000c0;font-family:Calibri;">side</span><span style="color:#000000;font-family:Calibri;"> * </span><span style="color:#0000c0;font-family:Calibri;">side</span><span style="color:#000000;font-family:Calibri;">;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">return</span></strong><span style="color:#000000;font-family:Calibri;"> area;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:#000000;font-family:Calibri;">}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Based on the output from the code, it is clear that the appropriate method for</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">responding to the choice in </span><span style="font-family:Calibri;">shapeArray </span><span style="font-family:Calibri;">has been used:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;">The area of Circle C is 28.26 sq. cm.</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;">The area of Square S is 9 sq. cm.</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">The method has been selected based on the class of the shape referenced in</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">shapeArray </span><span style="font-family:Calibri;">at run-time. This is only possible in programming languages that support</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;">dynamic binding. With dynamic binding, the variable </span><span style="font-family:Calibri;">shapeArray[i] </span><span style="font-family:Calibri;">is bound</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">to an object method at run time when the class definition of the shape referenced is</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">known.</span></span></p>
<p class="MsoNormal" style="margin:0;"> </p>
<div><span style="font-family:Calibri;"></span></div>
<p><span style="font-family:Calibri;"><span style="font-size:small;"></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Note:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"><span>            </span>Static binding is limited and may lead to difficulty software maintenance.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">On the other hand dynamic binding is very flexibility and easy to maintain.</span></span></p>
<p> </p>
<p></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Times New Roman;"> </span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/baskarfelix.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/baskarfelix.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=38&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/08/08/polymorphism-satic-and-dynamic-binding/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>Out of memory error:java heap space</title>
		<link>http://baskarfelix.wordpress.com/2008/08/06/out-of-memory-errorjava-heap-space/</link>
		<comments>http://baskarfelix.wordpress.com/2008/08/06/out-of-memory-errorjava-heap-space/#comments</comments>
		<pubDate>Wed, 06 Aug 2008 09:40:05 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[jboss]]></category>
		<category><![CDATA[performance tuning in java]]></category>
		<category><![CDATA[jboss heap space]]></category>
		<category><![CDATA[out of memory]]></category>
		<category><![CDATA[Out of memory error]]></category>
		<category><![CDATA[tomcat heap space]]></category>
		<category><![CDATA[weblogic heap space]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=31</guid>
		<description><![CDATA[Hi guys,
 
 We are most struggling with “Out of memory error” in web application when reference memory is over head.
 
For example:
            
            public final class Large { 
private static final double[ ] [ ] [ ] matrix = new double [1357] [ 1687] [4]; 
                        public static final void main(String[] arg) {
                        }
            }
 
O/P:
java.lang.OutOfMemoryError: Java heap space
                        [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=31&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">Hi guys,</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"><span> </span>We are most struggling with “Out of memory error” in web application when reference memory is over head.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">For example:</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"><span>            </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>            </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">final</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">class</span></strong><span style="color:black;font-family:Calibri;"> Large {</span><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0 0 0 1in;"><span style="font-size:small;"><strong><span style="color:#7f0055;font-family:Calibri;">private</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">static</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">final</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">double</span></strong><span style="color:black;font-family:Calibri;">[ ] [ ] [ ] </span><em><span style="background:silver;color:#0000c0;font-family:Calibri;">matrix</span></em><span style="color:black;font-family:Calibri;"> = </span><strong><span style="color:#7f0055;font-family:Calibri;">new</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">double</span></strong><span style="color:black;font-family:Calibri;"> [1357] [ 1687] [4];</span><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:black;font-family:Calibri;"><span>                        </span></span><strong><span style="color:#7f0055;font-family:Calibri;">public</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">static</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">final</span></strong><span style="color:black;font-family:Calibri;"> </span><strong><span style="color:#7f0055;font-family:Calibri;">void</span></strong><span style="color:black;font-family:Calibri;"> main(String[] arg) {</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:black;font-family:Calibri;"><span>                        </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:black;font-family:Calibri;"><span>            </span>}</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">O/P:</span></span></p>
<p class="MsoNormal" style="text-indent:.5in;margin:0;"><span style="font-size:small;"><span style="color:red;font-family:Calibri;">java.lang.OutOfMemoryError: Java heap space</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="color:red;font-family:Calibri;"><span>            </span><span>            </span>at outofmemory.Large.&lt;clinit&gt;(</span><span style="text-decoration:underline;"><span style="color:navy;font-family:Calibri;">Large.java:5</span></span><span style="color:red;font-family:Calibri;">)</span></span></p>
<p class="MsoNormal" style="text-indent:.5in;margin:0;"><span style="color:red;font-family:Calibri;"><span style="font-size:small;">Exception in thread &#8220;main&#8221;</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:red;font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="color:red;font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;">How to solve?</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;"><span>            </span>Increase java heap space based on jvm which you used.</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;">Set java heap size in JVM?</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">java -Xms64m -Xmx512m </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:Calibri;"><span style="font-size:small;">where <strong>-Xms&lt;size&gt;</strong> specifies the initial Java heap size and <strong>-Xmx&lt;size&gt;</strong> the maximum Java heap size.<strong> </strong></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;">Set java heap size in Tomcat?</span></span></strong><span style="color:black;font-family:Calibri;"><br />
<span style="font-size:small;">Stop Tomcat server, set environment variable </span></span><span style="font-size:small;"><code><span style="color:black;font-family:Calibri;">CATALINA_OPTS</span></code><span style="color:black;font-family:Calibri;">, and then restart Tomcat. Look at the file </span><code><span style="color:black;font-family:Calibri;">tomcat-install/bin/catalina.sh</span></code><span style="color:black;font-family:Calibri;"> or </span><code><span style="color:black;font-family:Calibri;">catalina.bat</span></code><span style="color:black;font-family:Calibri;"> for how this variable is used. For example,</span></span></p>
<pre><code><span style="font-size:12pt;color:black;font-family:Calibri;"><span style="background-color:#efefef;">set CATALINA_OPTS="-Xms512m -Xmx512m"<span>  </span>(Windows)</span></span></code><span style="font-size:12pt;color:black;font-family:Calibri;">
<span style="background-color:#efefef;"><code><span style="font-family:Calibri;">export CATALINA_OPTS="-Xms512m -Xmx512m"<span>  </span>(ksh/bash)</span></code>
<code><span style="font-family:Calibri;">setenv CATALINA_OPTS "-Xms512m -Xmx512m"<span>  </span>(tcsh/csh)</span></code></span></span></pre>
<p class="MsoNormal" style="margin:0;">
<div class="MsoNormal" style="margin:0;"><span style="color:black;font-family:Calibri;"><span style="font-size:small;">In catalina.bat or catallina.sh, you may have noticed CATALINA_OPTS, JAVA_OPTS, or both can be used to specify Tomcat JVM options. What is the difference between CATALINA_OPTS and JAVA_OPTS? The name CATALINA_OPTS is specific for Tomcat servlet container, whereas JAVA_OPTS may be used by other java applications (e.g., JBoss). Since environment variables are shared by all applications, we don&#8217;t want Tomcat to inadvertently pick up the JVM options intended for other apps. I prefer to use CATALINA_OPTS.</span></span></div>
<div><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></div>
<p><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </p>
<p></span></span></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;">Set java heap size in JBoss?</span></span></strong><span style="color:black;font-family:Calibri;"><br />
<span style="font-size:small;">Stop JBoss server, edit </span></span><span style="font-size:small;"><code><span style="color:black;font-family:Calibri;">$JBOSS_HOME/bin/run.conf</span></code><span style="color:black;font-family:Calibri;">, and then restart JBoss server. You can change the line with </span><code><span style="color:black;font-family:Calibri;">JAVA_OPTS</span></code><span style="color:black;font-family:Calibri;"> to something like:</span></span></p>
<pre><code><span style="font-size:12pt;color:black;font-family:Calibri;"><span style="background-color:#efefef;">JAVA_OPTS="-server -Xms128m -Xmx128m"</span></span></code>
<span style="font-size:12pt;color:black;font-family:Calibri;"><span style="background-color:#efefef;"> </span></span></pre>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="color:black;font-family:Calibri;"><span style="font-size:small;">Set java heap size in Eclipse?</span></span></strong><span style="color:black;font-family:Calibri;"><br />
<span style="font-size:small;">You have 2 options:<br />
1. Edit eclipse-home/eclipse.ini to be something like the following and restart Eclipse.</span></span></p>
<pre><code><span style="font-size:12pt;color:black;font-family:Calibri;"><span style="background-color:#efefef;">-vmargs</span></span></code><span style="font-size:12pt;color:black;font-family:Calibri;">
<span style="background-color:#efefef;"><code><span style="font-family:Calibri;">-Xms64m</span></code>
<code><span style="font-family:Calibri;">-Xmx256m</span></code></span></span></pre>
<p class="MsoNormal" style="margin:0;"><span style="color:black;font-family:Calibri;"><span style="font-size:small;">2. Or, you can just run eclipse command with additional options at the very end. Anything after -vmargs will be treated as JVM options and passed directly to the JVM. JVM options specified in the command line this way will always override those in eclipse.ini. For example,</span></span></p>
<pre><span style="background-color:#efefef;"><code><span style="font-size:12pt;color:black;font-family:Calibri;">eclipse -vmargs -Xms64m -Xmx256m</span></code></span></pre>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;">Set java heap size in Weblogic?</span></span></strong></p>
<p class="MsoNormal" style="margin:0;"><strong><span style="font-family:Calibri;"><span style="font-size:small;"> </span></span></strong></p>
<p class="MsoNormal" style="margin:.1in .15in 0 .2in;"><a name="1123435"></a><span style="color:black;font-family:Calibri;"><span style="font-size:small;">Java heap size values must be specified whenever you start WebLogic Server. This can be done either from the Java command line or by modifying the default values in the sample startup scripts that are provided with the WebLogic distribution for starting WebLogic Server. </span></span></p>
<p class="MsoNormal" style="margin:.1in .15in 0 .2in;"><a name="1124432"></a><span style="color:black;font-family:Calibri;"><span style="font-size:small;">For example, when starting WebLogic Server from a Java command line, the heap size values could be specified as follows:</span></span></p>
<p class="MsoNormal" style="margin:0;"><a name="1123436"></a><span style="color:red;font-family:Calibri;"><span style="font-size:small;">$ java -XX:NewSize=128m -XX:MaxNewSize=128m -XX:SurvivorRatio=8<span>  </span>-Xms512m -Xmx512m<br />
-Dweblogic.Name=%SERVER_NAME% -Dbea.home=&#8221;C:\bea&#8221;<br />
-Dweblogic.management.username=%WLS_USER%<br />
-Dweblogic.management.password=%WLS_PW%<br />
-Dweblogic.management.server=%ADMIN_URL%<br />
-Dweblogic.ProductionModeEnabled=%STARTMODE%<br />
-Djava.security.policy=&#8221;%WL_HOME%\server\lib\weblogic.policy&#8221;<br />
<span> </span>weblogic.Server</span></span></p>
<p class="MsoNormal" style="margin:.1in .15in 0 .2in;"><a name="1122134"></a><span style="color:black;font-family:Calibri;"><span style="font-size:small;">The default size for these values is measured in bytes. Append the letter `k&#8217; or `K&#8217; to the value to indicate kilobytes, `m&#8217; or `M&#8217; to indicate megabytes, and `g&#8217; or `G&#8217; to indicate gigabytes. </span></span></p>
<p class="MsoNormal" style="margin:.1in .15in 0 .2in;"><span style="color:black;font-family:Calibri;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:.1in .15in 0 .2in;"><span style="color:black;font-family:Calibri;"><span style="font-size:small;">For more information on the heap size options </span></span></p>
<p class="table" style="margin:0;"><a name="1115465"></a><span style="font-size:12pt;font-family:Calibri;"> </span></p>
<p class="table" style="margin:0;"><span style="font-size:12pt;font-family:Calibri;"> </span></p>
<p class="table" style="margin:0;"><span style="font-size:12pt;font-family:Calibri;">Setting the New generation heap size <span>                   </span><span> </span><span> </span><a name="1115467"></a><span>  </span>-XX:NewSize</span></p>
<p class="table" style="margin:0;"><a name="1115472"></a><span style="font-size:12pt;font-family:Calibri;">Setting the maximum New generation heap size<a name="1115474"></a><span>       </span><span>            </span>-XX:MaxNewSize</span></p>
<p class="table" style="margin:0;"><a name="1115478"></a><span style="font-size:12pt;font-family:Calibri;">Setting New heap size ratios<a name="1115480"></a><span>                                                  </span>-XX:SurvivorRatio</span></p>
<p class="table" style="margin:0;"><a name="1115485"></a><span style="font-size:12pt;font-family:Calibri;">Setting minimum heap size<a name="1115487"></a><span>                                                     </span>-Xms</span></p>
<p class="table" style="margin:0;"><a name="1115492"></a><span style="font-size:12pt;font-family:Calibri;">Setting maximum heap size<a name="1115494"></a><span>                                                    </span>-Xmx</span></p>
<p class="table" style="margin:0;"><span style="font-size:x-small;font-family:Verdana;"> </span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/baskarfelix.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/baskarfelix.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=31&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/08/06/out-of-memory-errorjava-heap-space/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>JBoss Seam</title>
		<link>http://baskarfelix.wordpress.com/2008/04/22/jboss-seam/</link>
		<comments>http://baskarfelix.wordpress.com/2008/04/22/jboss-seam/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 19:01:20 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[jboss seam]]></category>
		<category><![CDATA[Ejb and jsf integration]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=18</guid>
		<description><![CDATA[Yet another Web Application Framework! This time it is from JBoss Community. JBoss provides a new Web Application Framework called &#8220;JBoss Seam&#8221; which combines the advantages from the two rapidly growing technologies Enterprise Java Beans 3.0 and Java Server Faces. JBoss Seam, by sitting on top of J2EE provides a nice way of integration between [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=18&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Yet another Web Application Framework! This time it is from <a id="KonaLink0" class="kLink" href="http://www.javabeat.net/articles/seam/1/#" target="_top"><span style="color:#777766;">JBoss</span></a> Community. JBoss provides a new Web Application Framework called &#8220;JBoss Seam&#8221; which combines the advantages from the two rapidly growing technologies Enterprise Java Beans 3.0 and <a id="KonaLink1" class="kLink" href="http://www.javabeat.net/articles/seam/1/#" target="_top"><span style="color:#777766;">Java Server</span></a> Faces. JBoss Seam, by sitting on top of <a id="KonaLink2" class="kLink" href="http://www.javabeat.net/articles/seam/1/#" target="_top"><span style="color:#777766;">J2EE</span></a> provides a nice way of integration between JSF and EJB Components with other great functionalities</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/baskarfelix.wordpress.com/18/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/baskarfelix.wordpress.com/18/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=18&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/04/22/jboss-seam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>EJB 3 Vs Hibernate</title>
		<link>http://baskarfelix.wordpress.com/2008/04/22/ejb-3-vs-hibernate/</link>
		<comments>http://baskarfelix.wordpress.com/2008/04/22/ejb-3-vs-hibernate/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 15:38:59 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[ejb 3 vs hibernate]]></category>
		<category><![CDATA[EJB vs hibernate]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=17</guid>
		<description><![CDATA[ 
what is Hibernate?
HIBERNATE is an ORM ( Object-Relational-Mapping) technology. It is an Open-Source and free technology , developed in SourceForge.net. There have been a number of such ORM technologies,in recent past.. TopLink is one such tool , subsequently adopted by Oracle and so proprietory.
Hibernate from SourceForge and OJB(Object-Relational-Bridge) from Apache are two well known ORM [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=17&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><h2> </h2>
<p><strong>what is Hibernate?</strong></p>
<p>HIBERNATE is an ORM ( Object-Relational-Mapping) technology. It is an Open-Source and free technology , developed in SourceForge.net. There have been a number of such ORM technologies,in recent past.. TopLink is one such tool , subsequently adopted by Oracle and so proprietory.</p>
<p>Hibernate from SourceForge and OJB(Object-Relational-Bridge) from Apache are two well known ORM tools,open-source and free. JDO , also falls within the same category.</p>
<p><strong>Hibernate and EJB 3.0</strong></p>
<p>EJB-3 , is the latest version and it is heavily influenced by Hibernate. Some readers equate EJB-3 with Hibernate. Some even equate EJB-3 with JBOSS! Oracle supports EJB-3 proposals and as it is the main Database company in j2ee world, EJB-3 has bright future. J2EE( Java Enterprise Edition) by its very name is an Enterprise level technology, and as EJB is the essence of such Enterprise applications, because of the built-in container services offered, the significance of the surging interest in Hibernate can be really appreciated only in association with EJB and hence a detour into EJB is inevitable.</p>
<p>EJB has three types. One type is the SESSION BEAN,residing in ENTERPRISE container, which can be thought of as a function-bean, invoked in RMI-IIOP style. (this is a rough definition).Such session-bean , may be either stateless or stateful.</p>
<p>This type of EJB has stood the test of time during the last six years and has even gained wide approval, even for data-access, especially since it fits very well with the emerging XML WebService technology, and is very easy to learn and implement.( The earlier tutorial on EJB as webservice in Feb-2005, in DeveloperIQ illustrates this feature).The stateless bean working in Enterprise container has an exact counter-part in Microsoft COM+(MTS), but the other types are said to be available in MS platform only through third-party extensions.</p>
<p>ORM tools have been sometimes used along with Session beans. The only problem till recently was that they were proprietary and rather costly. But nowadays, very reliable open-source ORM tools are available, and even Richard Monson Haefel ( an acknowledged authority and author on EJB)approves this method as a safe and productive alternative to Entity beans.( page-467..EJB by Haefel-OReilly).</p>
<p>The other branch, the ENTITY BEAN has been less lucky. EJB-1.1, EJB-2.0 and then EJB-2.1 , have meant a number of changes in the specification relating to Entity Beans. We can say that an Entity bean is an &#8216;Attribute bean&#8217; or &#8216;property-bean&#8217;, with setter and getter methods, invoked in RMI-IIOP style and persisted in Enterprise container. The pattern of defining a typical Javabean is a recurring theme in Java. The same style occurs in BDK,EJB-Entity beans, Struts,JSF and now in Hibernate too. So, it is very important and elegant.</p>
<p>The third branch is Messaging paradigm and MDB. A recent article in the web dubbed the &#8216;RPC&#8217; style, on which the previous two types of EJB are based, as stone-age technologies! An Enterprise by its very name implies huge number of customers and concurrent transactions, RPC style being like telephone call, could result in &#8216;line-engaged!&#8217; problem. If the call involves the called person referring to some records before replying, it leads to line- blocking. But, messaging style, as in email, at least ensures that the message has been sent. It is evident that dubbing RPC( read &#8216;telephone&#8217;) as unsuitable , is over-statement. Sometimes, we desire immediate response, too. By the same token, even XML webservice , if it is really serious, should adopt messaging style and it does.MDB (Message-Driven bean) has weathered the storm and is in fact gaining more and more acceptance.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/baskarfelix.wordpress.com/17/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/baskarfelix.wordpress.com/17/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/17/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/17/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/17/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=17&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/04/22/ejb-3-vs-hibernate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>custom message with acegi</title>
		<link>http://baskarfelix.wordpress.com/2008/04/16/custom-message-with-acegi/</link>
		<comments>http://baskarfelix.wordpress.com/2008/04/16/custom-message-with-acegi/#comments</comments>
		<pubDate>Wed, 16 Apr 2008 07:25:15 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[spring with acegi]]></category>
		<category><![CDATA[acegi]]></category>
		<category><![CDATA[custom messages with acegi]]></category>
		<category><![CDATA[problem with acegi message]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=16</guid>
		<description><![CDATA[Hi!
I have got the problem while define the custom message in acegi with spring.
 Reading the reference guide does not help me, since following code snip from it does not work:
&#60;bean id=&#8221;messageSource&#8221; class=&#8221;org.springframework.context.support.Reloada bleResourceBundleMessageSource&#8221;&#62;

&#60;property name=&#8221;basename&#8221;&#62;&#60;value&#62;my/project/securitymessages&#60;/value&#62;&#60;/property&#62;
&#60;/bean&#62;

After reading the Source Code of Acegi, I have got the following idea:
&#60;bean id=&#8221;messageSource&#8221; class=&#8221;org.acegisecurity.AcegiMessageSource&#8221;&#62;

&#60;property name=&#8221;basename&#8221;&#62;&#60;value&#62;my/project/securitymessages&#60;/value&#62;&#60;/property&#62;
&#60;/bean&#62;

This bean definition works. I have no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=16&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Hi!</p>
<p>I have got the problem while define the custom message in acegi with spring.</p>
<p><a href="http://www.acegisecurity.org/guide/springsecurity.html" target="_blank"> Reading the reference guide </a>does not help me, since following code snip from it does not work:</p>
<p><span style="font-family:Courier New;">&lt;bean id=&#8221;messageSource&#8221; class=&#8221;org.springframework.context.support.Reloada bleResourceBundleMessageSource&#8221;&gt;</p>
<blockquote><p>
&lt;property name=&#8221;basename&#8221;&gt;&lt;value&gt;my/project/securitymessages&lt;/value&gt;&lt;/property&gt;</p></blockquote>
<p><font face="Courier New">&lt;/bean&gt;</p>
<p></font></span></p>
<p><span style="font-family:Verdana;">After reading the Source Code of Acegi, I have got the following idea:</p>
<p></span><span style="font-family:Courier New;">&lt;bean id=&#8221;messageSource&#8221; class=&#8221;org.acegisecurity.AcegiMessageSource&#8221;&gt;</p>
<blockquote><p>
&lt;property name=&#8221;basename&#8221;&gt;&lt;value&gt;my/project/securitymessages&lt;/value&gt;&lt;/property&gt;</p></blockquote>
<p><font face="Courier New">&lt;/bean&gt;</p>
<p></font></span></p>
<p><span style="font-family:Verdana;">This bean definition works. I have no idea, if the reference guide is wrong or I simply used the MessagesSource otherwise than expected, but since it works for now, it is fine for me and fine for you, too. I hope .</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/baskarfelix.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/baskarfelix.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=16&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/04/16/custom-message-with-acegi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
		<item>
		<title>Tagsoup</title>
		<link>http://baskarfelix.wordpress.com/2008/04/15/tagsoup/</link>
		<comments>http://baskarfelix.wordpress.com/2008/04/15/tagsoup/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 18:07:20 +0000</pubDate>
		<dc:creator>baskarfelix</dc:creator>
				<category><![CDATA[html parser]]></category>
		<category><![CDATA[parser]]></category>
		<category><![CDATA[tagsoup]]></category>

		<guid isPermaLink="false">http://baskarfelix.wordpress.com/?p=15</guid>
		<description><![CDATA[TagSoup is a library for extracting information out of unstructured HTML code, sometimes known as tag-soup. The HTML does not have to be well formed, or render properly within any particular framework. This library is for situations where the author of the HTML is not cooperating with the person trying to extract the information, but [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=15&subd=baskarfelix&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>TagSoup is a library for extracting information out of unstructured HTML code, sometimes known as tag-soup. The HTML does not have to be well formed, or render properly within any particular framework. This library is for situations where the author of the HTML is not cooperating with the person trying to extract the information, but is also not trying to hide the information.</p>
<p>Please find the below URL for more details :<a href="http://mercury.ccil.org/~cowan/XML/tagsoup/">http://mercury.ccil.org/~cowan/XML/tagsoup/</a></p>
<p> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/baskarfelix.wordpress.com/15/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/baskarfelix.wordpress.com/15/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/baskarfelix.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/baskarfelix.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/baskarfelix.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/baskarfelix.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/baskarfelix.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/baskarfelix.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/baskarfelix.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/baskarfelix.wordpress.com/15/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/baskarfelix.wordpress.com/15/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/baskarfelix.wordpress.com/15/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=baskarfelix.wordpress.com&blog=2680336&post=15&subd=baskarfelix&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://baskarfelix.wordpress.com/2008/04/15/tagsoup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/63e7a16962dc71ad80e3a6f7a9d5d468?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">baskarfelix</media:title>
		</media:content>
	</item>
	</channel>
</rss>