SPOJ ist zwar nicht direkt ein Wettbewerb, aber auch ganz lustig:
https://www.spoj.pl/
Hier gibt es hunderte von Programmieraufgaben, die man online lösen kann. Die Lösung wird sofort ausgewertet bezüglich Korrektheit und Laufzeit.
Es werden sehr viele Programmiersprachen unterstützt, natürlich auch Java.
Man kann es aber auch gut verwenden, wenn man eine neue Sprache lernt.
Doch leider eignen sich (langsamere) Skriptsprachen nicht besonders bestimmte Aufgaben, da die Laufzeitbeschränkung manchmal sehr strikt ist. (Als ich mir vor ein paar Jahren Ruby angesehen habe, habe ich ein paar SPOJ-Aufgaben gelöst.) Schade, denn diese Aufgaben ist prädestiniert für Skriptsprachen.