The JavaScript engine in node.js is reasonably high performance. 200 turrets updating 60 times a second should be totally possible, assuming you don't do bad things like ray trace from every turret to every target every frame. (Which would probably also kill a Java program.)
In general, Java is not THAT much faster than JavaScript. There really are only three "groups" of programming languages:
- statically compiled, C-like: C, C++, assembler, perhaps Rust, and some oddballs that almost nobody uses (Pascal, FORTRAN, D, etc)
- high-quality JIT languages: Java, JavaScript, C#, Haskell, go, etc
- dynamic languages with various design defects preventing any real performance: Python, PHP, Ruby, Lua, LISP, etc
Java-like languages are typically between 50% and 100% the speed of C/C++
Dynamic languages are typically between 8% and 40% the speed of C/C++
Of course, you can come up with some benchmark to "prove" any point you want, but over a large number of libraries and programs, for typical code written by typical programmers who know each of the languages, this is what my experience has been.
You may wonder: How come JavaScript is with Java/C#, and not with Python? It used to be a Python-like language in performance, but the billions of web-browsers on the world have driven every browser and JavaScript vendor to pour thousands of man-years into optimizing the JIT/runtime for the JavaScript interpreter, to the point where it's now almost as fast as Java and friends, for typical workloads, again depending on how you write the program.
If the reason to go with Java instead of JavaScript is to get better type checking, perhaps you can check out TypeScript instead?