Różnica w systemie. exit (0), System.exit (-1), System.exit (1) w Javie

Chciałbym poznać różnicę między poniższymi w Javie System.exit(0); System.exit(-1); System.exit(1); Kiedy muszę odpowiednio użyć powyższego