title: What does the term "canonical form" or "canonical representation" in Java mean?
body: <p>I have often heard this term being used, but I have never really understood it.</p>
  
  <p>What does it mean, and can anyone give some examples/point me to some links?</p>
  
  <p>EDIT: Thanks to everyone for the replies. Can you also tell me how the canonical representation is useful in equals() performance, as stated in Effective Java?</p>