java.util.Set
and java.util.Map
variables that contain
java.net.URL
objects.
Such collections will call the equals()
and hashCode()
methods on inserted objects,
which can cause performance problems on URL
objects.
URL
's equals()
and hashCode()
methods can perform a DNS lookup to resolve the host name.
This may cause significant delays, depending on the availability and speed of the network and the DNS server.
Using java.net.URI
instead of java.net.URL
will avoid the DNS lookup.
Example:
Set<URL> set = new HashSet<URL>();