Como verificar uma URL válida em Java?

Qual é a melhor maneira de verificar se um URL é válido em Java?

Se tentou ligarnew URL(urlString) e pegar umMalformedURLException, mas parece estar feliz com qualquer coisa que comece comhttp://.

Não estou preocupado em estabelecer uma conexão, apenas em validade. Existe um método para isso? Uma anotação no Hibernate Validator? Devo usar uma regex?

Editar: Alguns exemplos de URLs aceitos sãohttp://*** ehttp://my favorite site!.

questionAnswers(8)

yourAnswerToTheQuestion