title: scala: what's the difference between Any and AnyRef?
body: <p>Just curious about the difference between type <code>Any</code> and <code>AnyRef</code> in Scala.
  Why does int belongs to <code>AnyVal</code> but string belongs to <code>AnyRef</code>?</p>
  
  <p>For example:</p>
  
  <pre><code>val a: AnyVal = 3
  val b: AnyRef = "1"
  </code></pre>