Java HTTP getResponseCode devuelve 200 para URL inexistentes

Esperaba que este código devolviera un 404, sin embargo, produce el resultado:

"El código de respuesta es 200"

¿Sería posible aprender a diferenciar entre páginas web existentes y no existentes? . . muchas gracias

    try
    {
    // create the HttpURLConnection
    URL url = new URL("http://www.thisurldoesnotexist");
    HttpURLConnection connection = (HttpURLConnection) url.openConnection();

    System.out.println("Response code is " + connection.getResponseCode());
    }

Respuestas a la pregunta(5)

Su respuesta a la pregunta