¿Cómo ejecutar un programa para siempre en Java? ¿Es System.in.read () la única manera?

Yo toméeste código:

 28     public static void main(String[] args) throws IOException {
 29         HttpServer httpServer = startServer();
 30         System.out.println(String.format("Jersey app started with WADL available at "
 31                 + "%sapplication.wadl\nTry out %shelloworld\nHit enter to stop it...",
 32                 BASE_URI, BASE_URI));
 33         System.in.read();
 34         httpServer.stop();
 35     } 

¿La línea 33 "System.in.read ()" significa que se bloqueará hasta que haya entrada? ¿Esto también funcionará al iniciar la aplicación Java utilizando el script rc de UNIX, no se inicia manualmente desde una línea de comandos?

Me gustaría escribir una aplicación Java para escuchar conexiones HTTP. La aplicación se iniciará automáticamente cuando se inicie el sistema (utilizando scripts rc de UNIX). Significa que la aplicación se ejecutará de forma continua, teóricamente para siempre, hasta que se detenga a propósito. ¿Cuál es la mejor manera de implementar esto en el método main () de Java?

Respuestas a la pregunta(5)

Su respuesta a la pregunta