Когда вы пишете сервер (например, контейнер сервлета), все, что вам нужно main
, - это запускать и запускать потоки прослушивателя HTTP, принимать потоки, потоки сканирования файловой системы, потоки RMI и т. Д.
После завершения начальной загрузки main
больше не требуется, поскольку все происходит асинхронно. В этом случае все существенные потоки не являются демонами, поскольку они должны жить после метода main
.
Даже в Swing (настольное программирование) единственным требованием для main
является инициализация главного окна (JFrame
). Остальное происходит в потоках слушателя Swing (EDT) и различных фоновых потоках.