Java для бэкенда?
За серьёзным бэкендом стоят серьёзные разработчики, а не серьёзные языки. Учите парадигмы, высокоуровневые (паттерны) и низкоуровневые (работа памяти, GC, сети) вещи и смежные дисциплины, а не языки программирования.
js - лучшее решение
язык очень простой и позволяет делать сервер и клиент
node.js  справляется с высокой нагрузкой