Com tantas variações é comum que o programador em inicio de carreira fique confuso, vamos de ajudar a entender melhor a diferença entre as linguagens, que a principio não tem nada haver uma com a outra.
Java
Roda do lado do servidor. É uma liguagem orientada a objeto.
Cria aplicações. Funciona usando uma máquina virtual a partir de uma instalação na máquina do cliente. Requer compilação!
JavaScript
Roda do lado do cliente, através do navegador. Foi desenvolvida pelo Netscape. Não faz parte da plataforma, Java apesar do nome. Cria aplicações independentes. Fica “embedado” em abientes HTML e oferece ao usuário um nivel maior de intereção.
O JavaScript roda independente é nativo da web. É uma linguagem utilizada para manipular blocos HTML (linguagem de script).
Não requer compilação e possui várias frameworks de trabalho disponíveis no mercado.