Hola Juan, bueno de acuerdo a tu pregunta pues todo depende, yo te diría que con el que te sientas más comodo trabajando ese será el lenguaje que debas escoger, pero bueno de todos modos podemos hacer una comparación entre dichas estructuras de datos dinamicas en ambos lenguajes:
aquí está la creación de una pila en Java
http://lineadecodigo.com/java/crear-una-pila-en-java/
y en este otro artículo la creación de una pila en JS
https://medium.com/noders/estructuras-de-datos-con-javascript-parte-1-pilas-stacks-5a2092cff16a
Cómo puedes observar en dichos artículos de creación en el caso de las pilas, no es tan distante del otro ambos utilizan métodos como el push para insertar dentro de la pila y el pop para sacar de la pila y los demás quedan a criterio del programador cuando será el momento adecuado para utilizarlos.
Queda departe tuya investigar otros métodos, pero para mi es indistinto, sí es cierto que por lo menos en java tendrías que llamar a la clase Stack e importar su librería pero bueno con tantos recursos que tienen las pc hoy en día no creo que eso sea un problema para morir, al fin y al cabo todo depende del programador de como utilice los recursos, en este caso el de como utilices los recursos para crear dichas estructuras, sí serán más optimas o no. Pero como el foro es de Java yo le daría la oportunidad a dicho lenguaje, ya depende que pruebes también los tiempos de ejecución de ambos para ver cual es más rápido.
Espero que la información te haya podido servir de algo.
Saludos.