Я не уверен, что вы подразумеваете под "реальным". Если вы имеете в виду «действительный», то вы можете просто создать java.net.URL из строки и перехватить полученное исключение MalformedURLException, если оно недопустимо. Если вы имеете в виду, что на самом деле что-то есть, вы можете выполнить запрос HTTP HEAD, как говорит Geo, или вы можете просто получить контент. HTTPUnit особенно удобен для получения веб-контента.
Заголовки HTTP могут указывать, когда содержимое изменилось, как указано выше в nan. Если вы не хотите на это рассчитывать, вы можете просто извлечь страницу и сохранить ее, или, что еще лучше, сохранить хэш содержимого страницы. Смотрите DigestOutputStream для генерации хеша. При последующей проверке изменений вы просто сравниваете новый хеш с тем, который вы сохранили в прошлый раз.
Нэн права насчет запуска при загрузке. На какую операционную систему вы ориентируетесь?