I want to know how different values set for the Xmx, Xms, Xmn and Xss Affects the Garbage collection and Performance?
On basis of what parameters we can decide the optimum values for these parameters?
What are the tools available for the monitoring and analyzing the same?
If you want a detailed description http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html#generation_sizing is one of the better resources to follow .
As far as the tools are concerned , apart from the default java tools like Hprof ,hat ,visualvm and Jconsole . Other commercial ones also exist like Appdynamics , yourkit , jprofiler , dynatrace ,newrelic ,etc .