title: WeakHashMap iteration and garbage collection
body: <p>I am using a <code>WeaekHashMap</code> to implement a Cache. I am wondering if I am iterating over the keys of this map, and at the same time garbage collector is actively removing keys from this map, would I receive a <code>ConcurrentModificationException</code> ?
  I do not think so, because as far as I understand, concurrentmodificationexception happens because of bugs in the application code where the developer forgot to understand that the same map is shared/used by other threads and in this case, it should not happen. But wondering how would JVM handle this when WeakHashMap is not synchronized ?</p>